精易论坛

标题: [验证码识别]分享个大佬封装的dll,易语言例子及Python例子 [打印本页]

作者: Tuuuur    时间: 2024-1-25 12:12
标题: [验证码识别]分享个大佬封装的dll,易语言例子及Python例子
非原创,侵权删

Python异常:

dll是32位封装 Python解释器需要32位的 64位报错

下载地址: https://tuuuur.lanzout.com/iw0kQ1m8k3hc

VX图片_20240125120302.png (18.18 KB, 下载次数: 6)

易语言源码

易语言源码

VX图片_20240125120543.png (20.27 KB, 下载次数: 2)

error

error

作者: 447485268    时间: 2024-1-27 02:09
支持开源~!感谢分享
作者: Tuuuur    时间: 2024-1-27 05:59
纯本地离线识别验证码 亲测识别率90%以上
作者: 灵猫作者    时间: 2024-1-27 15:40
支持开源~!感谢分享
作者: 玄骨    时间: 2024-1-27 15:59
        感谢分享,很给力!~
作者: useryg188    时间: 2024-1-27 18:41
有新一点的吗?这个是好几年前的识别库了,应对一些变异的英数有点困难了
作者: 亿万    时间: 2024-1-27 21:14

感谢分享,很给力!~
作者: pipicool    时间: 2024-1-28 00:29
学习一下
作者: 敬你    时间: 2024-1-28 22:48

学习一下
作者: jysoft2022    时间: 2024-1-28 22:51
谢谢分享
作者: Tuuuur    时间: 2024-1-29 14:00
useryg188 发表于 2024-1-27 18:41
有新一点的吗?这个是好几年前的识别库了,应对一些变异的英数有点困难了 ...

我找找
作者: 大今今    时间: 2024-2-4 10:43
看看..............
作者: tsg2005    时间: 2024-2-4 20:52
学习一下。
作者: 无泪殇    时间: 2024-2-4 21:20
111111111111111
作者: gtm60    时间: 2024-2-12 10:25
66666666666666666666666
作者: qunsen    时间: 2024-2-29 16:58
学习一下。
作者: 易YY业务    时间: 2024-3-2 23:38
支持开源~!感谢分享
作者: fwq123456    时间: 2024-3-10 00:04
666666666666666666
作者: 灵弦    时间: 2024-3-23 21:56
感谢分享
作者: 奎木狼    时间: 2024-4-2 11:36
感谢分享,很给力!~
作者: Tuuuur    时间: 2024-8-9 04:11
写了个本地服务器  POST url="“http://127.0.0.1:9527/api/code”" json提交{"base":"图片base"}


[Python] 纯文本查看 复制代码
import base64
import ctypes
import os

from flask import Flask, request, jsonify

app = Flask(__name__)

current_directory = os.getcwd()
path = os.path.join(current_directory, 'res\\ocr.dll')
if os.path.exists(path):
    example_dll = ctypes.CDLL(path)
    example_dll.init()
    functions = [func for func in dir(example_dll) if callable(getattr(example_dll, func))]
    dist = []
    for func in functions:
        dist.append(func)


def init(base64_str):
    byte_data = base64.b64decode(base64_str)
    length = len(str(byte_data))
    ocr_result = example_dll.ocr(byte_data, length)
    int_value = ocr_result
    pointer = ctypes.cast(int_value, ctypes.POINTER(ctypes.c_char))
    content = ctypes.string_at(pointer)
    return content.decode('utf-8')


@app.route('/api/code', methods=['POST'])
def get_data():
    base64_str = request.json.get("base")
    if base64_str:
        ret_code = init(base64_str)
        return jsonify({
            "ret_code": ret_code
        })
    else:
        return jsonify({
            "code": 400,
            "error": "Base64 string not provided."
        }), 400


if __name__ == '__main__':
    app.run(port=9527)

作者: menghu780409    时间: 2024-9-14 17:32
感谢分享,很给力!
作者: Kotori6139    时间: 2024-10-7 20:15
666666666666666666
作者: scfalwxk    时间: 2024-12-17 12:52
来个 64位的火山视窗例子
作者: ggyy1314    时间: 2024-12-21 19:17
;o;o;o;o;o;o;o;o;o;o;
作者: Q3375840759    时间: 2025-1-2 12:09
识别率怎么样




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4