|-转 ddddocr验证码识别-java&nodejs&python
nodejs版本
安装包
npm install ddddocr
运行会报错TypeError: Ddddocr.create is not a function,
需要 修改 ddddocr/dist/index.js 最后一行exports.default = DdddOcr;改为 module.exports = DdddOcr;
ddddocr验证码识别-java&nodejs&python_nodejs ddddocr-CSDN博客
1. java版本
参考 https://gitee.com/GCSZHN/ddddocr-for-java?_from=gitee_search java 11 改造使用 jdk1.8 https://gitee.com/bestman_456/ddddocr4j
引入依赖
<dependency> <groupId>com.yl</groupId> <artifactId>ddddocr4j</artifactId> <version>1.0.0</version> </dependency>
DDDDOcrUtil
package com.yl.util; import com.yl.ddddocr.OCREngine; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Base64; /** * DDDDOcrUtil * * @author liuxb * @date 2023/4/28 0:09 */ @Slf4j public class DDDDOcrUtil { private static final OCREngine ocrEngine = OCREngine.instance(); /** * 获取识别的验证码 * * @param base64 验证码base64字符串 * @return */ public static String getCode(String base64) { byte[] bytes = Base64.getDecoder().decode(base64); ByteArrayInputStream bis = new ByteArrayInputStream(bytes); try { BufferedImage bufferedImage = ImageIO.read(bis); return ocrEngine.recognize(bufferedImage); } catch (IOException e) { log.error("识别验证码异常", e); return StringUtils.EMPTY; } } /** * 获取识别的验证码 * * @param inputStream 验证码图片输入流 * @return */ public static String getCode(InputStream inputStream) { try { BufferedImage bufferedImage = ImageIO.read(inputStream); return ocrEngine.recognize(bufferedImage); } catch (IOException e) { log.error("识别验证码异常", e); return StringUtils.EMPTY; } } }
2. nodejs版本
安装包 npm install ddddocr 安装的包,报错,需要 修改 ddddocr/dist/index.js 最后一行为 module.exports = DdddOcr; 测试 const Ddddocr = require(ddddocr) var fs = require(fs) //引入fs模块 var path = require(path) var imgDir = "D:/verifies" var array = fs.readdirSync(imgDir) array.forEach(item => { var file = path.join(imgDir, item) Ddddocr.create().then(async ddddocr => { // 也可传入 文件路径 const verifyCode = await ddddocr.classification(file); console.log(file, verifyCode) }) })
3. Python版本
pip install ddddocr import os import ddddocr # common_old.onnx, beta=True common.onnx ocr = ddddocr.DdddOcr() # dirPath = rD:\upload\img dirPath = rD:\verifies for ff in os.listdir(dirPath): path = os.path.join(dirPath, ff) with open(path, rb) as f: img_bytes = f.read() res = ocr.classification(img_bytes) print(路径: + path + , 识别出的验证码为: + res)
...
浏览更多内容请先登录。
立即注册
分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。
更新于:2024-10-05 15:54:12
相关内容
富文本编辑器
富文本编辑器Redactor在Yii2中的应用
WEB技术
WEB技术之前端技术
WEB技术之后端技术
WEB应用转手机APP,手机APP制作平台推荐
WEB应用与手机APP
Android相关
2017 年 Web 开发工程师技术发展路线图
session:手动删除客户端上的所有cookie,再次访问的时候为什么还是登录状态?
WEB技术之前端技术2
background:url(../images/list01.png) no-repeat 0 center;详解
开源论坛软件Nodebb 现代网络社区平台搭建教程(2022年6月已实测,基本OK的)
php如何防止表单重复提交
推荐内容