sml2h3 / ddddocr

带带弟弟 通用验证码识别OCR pypi版
https://ddddocr.com
MIT License
9.17k stars 1.67k forks source link

classification() add image type Image.Image and pathlib.Path #33

Closed lededev closed 2 years ago

lededev commented 2 years ago

classification()函数的图片参数新增两种类型:Image.Image 及 pathlib.Path 方便直接识别屏幕截图,直接内存以避免磁盘操作。 以及简化磁盘图片的识别加载过程。 用法示例一,屏幕坐标抓图直接识别:

import ddddocr
from PIL import ImageGrab
vcode_ocr = ddddocr.DdddOcr()
img_vcode = ImageGrab.grab((20, 60, 100, 100), all_screens=True)
v = vcode_ocr.classification(img_vcode)
print(v)

输出

96BA

用法示例二,识别目录中全部图片:

import ddddocr
from pathlib import Path
vcode_ocr = ddddocr.DdddOcr()
for filename in Path('z:\\t').glob(r'**/*'):
    if not filename.suffix.lower() in ('.png','.jpg'):
        continue
    v = vcode_ocr.classification(filename)
    print(f'{v}\t{str(filename)}')

输出

2a3ny   z:\t\2a3ny.jpg
6FKU    z:\t\6FKU.png
5GNV    z:\t\5GNV.png
lededev commented 2 years ago

以前的单文件识别示例可简化为3行

import ddddocr
from pathlib import Path
print(ddddocr.DdddOcr().classification(Path('z:/t/2a3ny.jpg'))

输出 2a3ny

lededev commented 2 years ago

@sml2h3 为何在1.4.3里撤销了这个PR,是有什么问题吗?

sml2h3 commented 2 years ago

@sml2h3 为何在1.4.3里撤销了这个PR,是有什么问题吗?

不好意思,可能是我更新前拉git上面的代码没拉到,麻烦您再提交一次呢,我会尽快审核通过哈