|-转 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如何防止表单重复提交
推荐内容