NodeJs相关内容

ddddocr验证码识别-java&nodejs&python

PHPer 2024-10-05 29 0 0

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如何防止表单重复提交

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    人气美女女优百度指数排行榜(波多野结衣,苍井空,三上悠亚,深田咏美,桥本有菜,北条...

    最强人造人深田咏美,业界的社交女王

    人生起起落落的三上悠亚,成名前的清纯风,怎么搭配出来的?

    业内第一大长腿,桥本有菜的腿究竟有多长

    波多野结衣,岛国业界著作最多的超级劳模

    日本AV界NO.1,苍井空是多少宅男的疯狂?

    美女女优视频混剪 This Girl-Laza Morgan

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享