Python通用验证码识别OCR库ddddocr的安装使用

这篇具有很好参考价值的文章主要介绍了Python通用验证码识别OCR库ddddocr的安装使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、前言

之前写了一篇关于java使用tess4j进行图片文字识别.md的,对于应付简单的数字识别还是能应付,但总体效果、识别率很一般,后来同事找到了这一篇写的,(亲测好用便捷)Python通用验证码识别OCR库ddddocr的安装使用教程,试用了下确实效果要好很多,因此也记录一下,算是白嫖了这篇文章自己的一个使用总结,细化了里面的一些安装过程,具体如下说明。

ddddocr项目地址:https://github.com/sml2h3/ddddocr
安装环境: linux centos7.x

二、Python安装(Python版本必须>=3.8)

ddddocr的使用需要python3.8以上,默认centos系统里面一般自带了2.7版本,因此python3的安装就采用全新安装与python的2版本同时共存,之前也写了一篇如下:centos7安装python3简单步骤,可参与这篇进行安装,采用的是3.10.0的源码编绎方式。

#准备依赖
yum -y install gcc
yum -y install zlib-devel

#下载源码
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz

#解压安装
tar -xvf Python-3.10.0.tgz
cd Python-3.10.0
./configure --prefix=/usr/local/python3
make && make install

#软连接
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3

#查看安装后的版本号
python3 -V

#测试hello world脚本准备
cat > hello.py << EOF
#!/usr/local/bin/python3

# -*- coding: utf8 -*-

print("hello world")

EOF

#执行查看测试效果
[testuser@localhost ~]$ /usr/local/bin/python3 hello.py 
hello worlds

三、安装ddddocr

安装前先要解决python3的ssl module的问题,直接执行以下命令安装将报错

pip3 install ddddocr

错误日志如下:
[testuser@localhost ~]$ pip3 install ddddocr Defaulting to user installation because normal site-packages is not writeable WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

3.1 解决ssl module 的问题

详细步骤在centos7安装python3简单步骤这个文章里面也有,摘出来内容如下:

3.1.1升级OpenSSL到1.1.1

#下载源码
wget https://codeload.github.com/openssl/openssl/zip/OpenSSL_1_1_1-stable

#解压
unzip openssl-OpenSSL_1_1_1-stable.zip

#安装,指定安装路径为/usr/local/openssl
cd openssl-OpenSSL_1_1_1-stable/
./config --prefix=/usr/local/openssl
make && make install

# .config进如果提示需要安装You need Perl 5,执行以下命令解决
yum -y install perl
然后重新执行./config --prefix=/usr/local/openssl,和make && make install命令进行编绎安装openssl

#备份旧文件并加载新版本配置
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/lib64/openssl /usr/lib64/openssl.old
mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v 

#查看版本
openssl version

#安装成功后的版本日志如:
[root@localhost openssl-OpenSSL_1_1_1-stable]# openssl version
OpenSSL 1.1.1u-dev  xx XXX xxxx

3.1.2 重新编绎Python

升级OpenSSL到1.1.1后,重新编绎安装下python3

cd Python-3.10.0
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
make & make install

至此 ssl module的问题解决完毕。

3.2 yum安装ddddocr

解决了上面的ssl module问题后,直接使用pip3安装ddddocr就可以了,如下:

pip3 install ddddocr

或者指定国内镜像进行安装

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

安装好后提示一点点警告
WARNING: You are using pip version 21.2.3; however, version 23.0.1 is available.
You should consider upgrading via the ‘/usr/local/python3/bin/python3.10 -m pip install --upgrade pip’ command.
根据提示执行pip3的升级操作

/usr/local/python3/bin/python3.10 -m pip install --upgrade pip

升级后再查看pip版本

pip3 -V

至此ddddocr环境安装完毕,可以写图片识别代码进行测试了。

四、写代码测试ddddocr识别效果

准备代码如下,此代码的功能为执行python脚本,指定命令行参数位置1上的图片名称路径,通过ddddocr识别后,打印出识别的结果:

cat > DdddocrTest.py << EOF
#!/usr/local/bin/python3
# -*- coding: utf8 -*-

import ddddocr
import sys

class DdddocrTest(object):
    '''
    Ddddocr test : sys.argv[1] as the codeImg parameter
    Useage example: /usr/local/bin/python3 DdddocrTest.py codeImage.jpg
    '''
    def ocrTest(self):

        ocr = ddddocr.DdddOcr()
        with open(sys.argv[1], 'rb') as f:
            img_bytes = f.read()
        res = ocr.classification(img_bytes)
        print('识别出的验证码为:' + res)
        
if __name__ == '__main__':
    obj = DdddocrTest()
    obj.ocrTest()     
EOF

准备好三张图片

code.png
Python通用验证码识别OCR库ddddocr的安装使用
code1.png
Python通用验证码识别OCR库ddddocr的安装使用
code2.png
Python通用验证码识别OCR库ddddocr的安装使用
code3.png
Python通用验证码识别OCR库ddddocr的安装使用

测试代码执行结果

/usr/local/bin/python3 DdddocrTest.py code.png
/usr/local/bin/python3 DdddocrTest.py code1.png
/usr/local/bin/python3 DdddocrTest.py code2.png
/usr/local/bin/python3 DdddocrTest.py code3.png

Python通用验证码识别OCR库ddddocr的安装使用文章来源地址https://www.toymoban.com/news/detail-446095.html

到了这里,关于Python通用验证码识别OCR库ddddocr的安装使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python 使用ddddocr库实现滑块验证码滑动验证

    使用ddddocr识别 该算法识别准确率为95%左右,测试三轮,每轮测试100次 使用cv2识别 该算法识别准确率为95%左右,测试三轮,每轮测试100次 构造轨迹库 图片长度为300,理论上就300种轨迹,实际上应该是200+种,还要减去滑块图的长度80 手动滑他个几百次,并把距离和轨迹记录下

    2024年01月21日
    浏览(47)
  • 〖Python网络爬虫实战㉞〗- 图形验证码OCR识别

    订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+ python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,订阅本专栏前必读关于专栏〖Python网络爬虫实战〗转为付费专栏的订阅说明 作者:爱吃饼干的小白鼠。Python领域优质创作者,20

    2024年02月10日
    浏览(30)
  • 【爬虫】8.1. 使用OCR技术识别图形验证码

    图形验证码是最早出现的验证方式,现在依然很常见,一般由4位左右的字母或者数字组成。本章节使用的网站时https://captcha7.scrape.center/,这个网站的验证码相对来说比较平整,没有过多的干扰线和干扰点,文字也没有大幅度的变形和旋转,因此比较好作为案例进行分析,对

    2024年02月09日
    浏览(35)
  • Brup+Captcha-killer+ddddocr实现验证码识别

    实验前准备:Burp(2020以后的版本jdk11) captcha-killer(burp插件针对不同版本的burp存在不同的版本) ddddocr(开源验证码识别接口最新版已支持python3.10版本) 项目地址:https://github.com/f0ng/captcha-killer-modified https://github.com/sml2h3/ddddocr burp的安装和破解在此不做赘述,首先我们到上面

    2023年04月09日
    浏览(38)
  • 【爬虫】8.1. 深度使用tesseract-OCR技术识别图形验证码

    前言:本片文章是基于我之前发的一篇文章《【爬虫】8.1. 使用OCR技术识别图形验证码》而写的,链接为: 【爬虫】8.1. 使用OCR技术识别图形验证码,前面这篇文章比较基础。入门了tesseract-OCR技术之后对它比较感兴趣,故继续深度学习以下。为了衔接比较好,故本篇文章前面

    2024年02月09日
    浏览(35)
  • 通用文字识别OCR 之实现自动化办公

    随着技术的发展,通用文字识别(OCR)已经成为现代办公环境中不可或缺的工具之一。OCR技术可以将印刷或手写文本转换为可编辑或可搜索的数字文本,极大地提高了办公效率并实现了自动化办公。本文将深入探讨OCR技术在实现自动化办公方面的应用,包括文档处理、数据提

    2024年02月15日
    浏览(35)
  • C# PaddleInference OCR 验证码识别

    目录 说明 效果 项目 测试图片 代码 下载  C# PaddleInference OCR 验证码识别 自己训练的模型,只针对测试图片类型,准确率99%    VS2022+.net4.8+OpenCvSharp4+Sdcb.PaddleInference using OpenCvSharp; using Sdcb.PaddleInference.Native; using Sdcb.PaddleInference; using System; using System.Collections.Generic; using System.

    2024年02月16日
    浏览(28)
  • 如何使用Python实现图像文字识别OCR

    要使用Python实现图像文字识别OCR,可以使用以下步骤: 安装Tesseract OCR引擎 Tesseract是一种开源OCR引擎,可以处理多种语言和字体。要使用Python进行OCR,需要安装Tesseract OCR引擎。安装方法可以在Tesseract的官方网站上找到。 安装Python模块 要使用Python进行OCR,需要安装Python模块。

    2024年02月04日
    浏览(38)
  • 如何将图片恢复水平位置?图片旋转矫正方法大全,ddddocr作者基于RotNet的旋转验证码深度学习识别模型Rotate-Captcha-Crack

    该模型首先使用边缘检测算法对图像进行边缘检测,然后找到边缘上的直线,并计算直线的角度。最后通过旋转图像来校正图像的角度。 该模型基于Hough变换算法来检测图像中的直线,并计算直线角度,然后使用旋转矩阵将图像旋转到正确的角度。 该模型使用图像的局部特征

    2024年02月08日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包