Python3-图片文字识别库ddddocr的使用,验证码的识别

1 ddddocr简介:

ddddocr是一个开源图片识别库,Github地址:

https://github.com/sml2h3/ddddocr

经测试发现,ddddocr在识别验证码类型的图片时,准确率还是很高的。 

2 ddddocr的安装:

pip install ddddocr

pip install ddddocr -i 镜像,例如:

pip install ddddocr -i https://pypi.tuna.tsinghua.edu.cn/simple

常用国内镜像源:

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华为云:https://mirrors.huaweicloud.com/python/

豆瓣:https://pypi.douban.com/simple/

3 ddddocr的使用:

图片识别举例:

代码: 

# -*- coding: utf-8 -*-
import os
import ddddocr

# 图片识别函数
def img2text(img_file):
    ocr = ddddocr.DdddOcr() #法1
    # ocr = ddddocr.DdddOcr(det=True) #法2
    cPath = os.getcwd()
    print(cPath)
    with open(img_file, 'rb') as f:
        print("file",f)
        img_bytes = f.read()
        #获取文字
        res = ocr.classification(img_bytes)
        print('res:',res)
    print("func end.")


# main function
if __name__ == '__main__':
    jpg_ch_file="img1_ch.jpg";
    jpg_file="img02.jpeg";
    png_file="img03.png";
    bmp_file = "img04.bmp"
    img2text(jpg_ch_file);
    print("main end")

运行:

1) bmp文件:

img04.bmp:

 

% python3 ddd_img2text2.py

欢迎使用ddddocr,本项目专注带动行业内卷,个人博客:wenanzhe.com

训练数据支持来源于:http://146.56.204.113:19199/preview

爬虫框架feapder可快速一键接入,快速开启爬虫之旅:https://github.com/Boris-code/feapder

file <_io.BufferedReader name='img04.bmp'>

res: AFtf

func end.

main end

2)png图片:

img03.png:

 

% python3 ddd_img2text2.py

file <_io.BufferedReader name='img03.jpeg'>

res: 2bghz 

3)jpeg图片:

 img2.jpg:

 

% python3 ddd_img2text2.py

file <_io.BufferedReader name='img02.jpeg'>

res: 2acd

4) 汉字的识别:

 img1_ch.jpg:

 

% python3 ddd_img2text2.py

file <_io.BufferedReader name='img1_ch.jpg'>

res: 中进优搜蔡系和度优先搜索是两种最常见的优先搜索方法它们破泛地运用在图对等

可以看出,对于验证码类型的图片识别,准确率比较高;

而对于汉字的识别,准确率不高。 


  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python图片文字识别有多种选择,常用的包括Pytesseract和PaddleOCR。 Pytesseract是一个基于Tesseract OCR引擎的Python,可以用于识别图片中的文字。使用Pytesseract可以很方便地将图片转换为文本,只需要导入相应的并调用相应的函数即可。例如,你可以使用以下代码来实现图片文字识别: 引用: ```python import pytesseract from PIL import Image text = pytesseract.image_to_string(Image.open(r"d:\Desktop\39DEE621-40EA-4ad1-90CC-79EB51D39347.png")) print(text) ``` PaddleOCR是一个基于PaddlePaddle深度学习框架的开源OCR工具。它具有更高的识别准确率和更广泛的应用场景。PaddleOCR支持多种语言的文字识别,并提供了一键安装和使用的便捷性。你可以通过以下代码批量识别图片中的文字: 引用: ```python import os import pytesseract path = 'text_img/' imgs = [os.path.join(path, i) for i in os.listdir(path)] f = open('text.txt', 'w', encoding='utf-8') for img in imgs: f.write(img + '\n') f.close() string = pytesseract.image_to_string('text.txt', lang='chi_sim') print(string) ``` 除了Pytesseract和PaddleOCR,还有其他OCR也可以用于图片文字识别,具体选择可以根据你的需求和实际情况来决定。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [适合小白的几个入门级Python ocr识别](https://blog.csdn.net/qq_38017966/article/details/118724459)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [图片文字识别python](https://blog.csdn.net/m0_54240221/article/details/124699773)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值