

发布于 2025-07-07 13:38更新于 2025-07-07 22:102819浏览近期社区问答安装ddddocr的问题比较多,我这里试着安装一下,python3.7和python3.10版本的都一遍安装成功,展示一下两个版本所需安装的依赖库。

python3.7和python3.10安装的ddddocr都是1.5.6版本,但是相关的部分依赖库版本不同,可以根据上面的版本提示,在影刀里安装指定的版本。
每个应用都会有自己的独立虚拟目录,如下图所示:

虚拟目录路径说明:
安装包路径:
第三方包都安装在venv文件夹下的\Lib\site-packages目录下。
来都来了,我们检验下 ddddocr 的识别效果如何。
一、生成验证码
现在开发者真幸福,随便一个AI工具,都能帮你输出生成验证码的python代码。
咱们生成一个由字母和数字组成的6位随机验证码,保存至captcha.png,并将验证码返回,用来核对识别的正确性。
代码保存至python模块generate_cap.py
import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
from PIL import Image, ImageDraw, ImageFont
import random
import string
def generate_captcha():
# 定义验证码的长度
length = 6
# 生成随机的英文字母和数字组合
captcha_text = ''.join(random.choices(string.ascii_letters + string.digits, k=length))
# 创建一个空白图片
width, height = 120, 40
image = Image.new('RGB', (width, height), (255, 255, 255)) # 白色背景
draw = ImageDraw.Draw(image)
# 设置字体(需要指定字体文件路径,这里以微软雅黑为例)
font_path = r'C:\Windows\Fonts\msyh.ttc' # 修改为你的字体文件路径
font = ImageFont.truetype(font_path, 28)
# 在图片上绘制验证码文本
text_width, text_height = draw.textsize(captcha_text, font=font)
x = (width - text_width) // 2
y = (height - text_height) // 2
draw.text((x, y), captcha_text, font=font, fill=(0, 0, 0)) # 黑色文本
# 添加干扰点
for _ in range(50):
x = random.randint(0, width)
y = random.randint(0, height)
draw.point((x, y), fill=(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)))
# 添加干扰线
for _ in range(5):
start = (random.randint(0, width), random.randint(0, height))
end = (random.randint(0, width), random.randint(0, height))
draw.line([start, end], fill=(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)), width=2)
# 保存图片
# image.save(r'C:\Users\ricky\Desktop\影刀\captcha.png')
image.save('captcha.png')
return captcha_text
def main(args):
# 生成验证码并保存图片
captcha = generate_captcha()
print(f'生成的验证码是:{captcha}')
return captcha代码都有注释,没有太多的可说点,图片保存的路径可以说一说。
如果路径不写绝对路径,而是直接写 image.save('captcha.png') ,文件不是保存在和py文件一个文件夹,而是在影刀的安装目录下。
请先记住这个目录,后面还会有大用处。

二、识别验证码
ddddocr 功能非常强大,点击链接可以查看详细内容。
我们这里只用识别数英混合图片验证码的代码,返回识别的字符串。
代码保存至python模块dddd_ocr.py
import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
import ddddocr
def recognize_captcha(image_path):
# 初始化 ddddocr
ocr = ddddocr.DdddOcr()
# 读取图片
with open(image_path, 'rb') as f:
image_bytes = f.read()
# 识别验证码
result = ocr.classification(image_bytes)
return result
def main(args):
# 识别验证码
recognized_captcha = recognize_captcha('captcha.png')
print(f'识别的验证码是:{recognized_captcha}')
return recognized_captcha三、验证准确率
for次数循环100次,每次识别正确则count+1,计算100次的成功率。

成功率75%,主要是数字0和字母O、数字1和字母l识别有误。
作为一款免费产品,还要啥自行车。🚲
相信大家的应用经常都会用到验证码识别,难道我们每次使用ddddocr识别,都需要在虚拟环境目录下安装吗,能否安装一次所有的应用都能用呢?
🎉✨🎉答案是可以的。
我们先回头看看第一张第三方包安装截图。

为什么其他包都安装在应用的虚拟目录下,唯独Pillow包安装在影刀的安装目录下呢?
这是因为影刀指令需要用到的第三方包,就直接安装在影刀的安装目录下,而这里的包,是无需在虚拟环境目录下再安装就可以直接使用的。
那么我们将所用到的包直接安装在这里,不就可以和影刀的默认安装包一样,一劳永逸了。
下面是安装的方法展示:
1.打开cmd命令提示符,粘贴命令‘"D:\Program Files (x86)\ShadowBot\shadowbot-5.28.38\python\python.exe" -m pip install ddddocr’,
如果是python3.10版本的应用,则粘贴命令‘"D:\Program Files (x86)\ShadowBot\shadowbot-5.28.38\python310\python.exe" -m pip install ddddocr’
路径更改为各自的影刀安装目录,替换需要安装的包名。
2.第一次安装,可能会遇到需要升级pip的警告。
使用命令‘"D:\Program Files (x86)\ShadowBot\shadowbot-5.28.38\python\python.exe" -m pip install --upgrade pip’更新pip。
3.安装成功后,可以在影刀安装目录看到ddddocr文件包。如果应用是python3.10版本,则下面的路径中的python为python310.
4.新建一个PC应用,虚拟环境目录不用安装ddddocr,正常运行代码。

像pandas这种比较常用、安装时间较长、占用空间较大的第三方包,就可以通过这种方式来安装。
起到安装一次,全部应用可以共用的效果。
🧨🧨🧨还等什么,赶紧来试试吧!