java实现OCR图片识别,RapidOcr开源免费

先看一下识别效果(自我感觉很牛逼),比Tess4J +Tesseract省事,这个还需要训练,安装软件、下载语言包什么的 很费事,关键识别率不高

RapidOcr不管文字的横竖,还是斜的都能识别(代码实现放最后)

先引入jar

复制代码
<!--ocr识别-->
        <dependency>
            <groupId>io.github.mymonstercat</groupId>
            <artifactId>rapidocr</artifactId>
            <version>0.0.7</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <!--  一般只需要引入一个,CPU端建议使用onnx,移动端建议使用ncnn     -->
        <!--  可前往maven中央仓库https://repo1.maven.org/maven2/io/github/mymonstercat/,查看版本      -->
        <dependency>
            <groupId>io.github.mymonstercat</groupId>
            <artifactId>rapidocr-onnx-platform</artifactId>
            <version>0.0.7</version>
        </dependency>

public static void main(String[] args) {
		String temPath = "E:\\cstp3.png";
		ParamConfig paramConfig = ParamConfig.getDefaultConfig();
		paramConfig.setDoAngle(true);
		paramConfig.setMostAngle(true);
		InferenceEngine engine = InferenceEngine.getInstance(Model.ONNX_PPOCR_V4);
		// 开始识别
		OcrResult ocrResult = engine.runOcr(temPath, paramConfig);
		System.out.println("识别内容"+ocrResult.getStrRes().replace("\n", " "));
	}
相关推荐
开发小能手-roy1 天前
Java集合框架选型指南:从ArrayList到ConcurrentSkipListMap
java·开发语言
凡人叶枫1 天前
Effective C++ 条款41:了解隐式接口和编译期多态
java·开发语言·c++·effective c++
凡人叶枫1 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
chushiyunen1 天前
java中的路径处理、左右斜杠
java·开发语言·python
yyxx4121231 天前
上海企业如何选择专业的钉钉服务商
java·大数据·人工智能·钉钉
一杯奶茶¥1 天前
水果销售网站 CRM客户信息管理系统 超市管理系 酒店管理系统 健身房管理系统 在线音乐网站 校园招聘系统
java·vue.js·spring boot·mysql·spring·java项目
重生之后端学习1 天前
Java入门
java·开发语言·职场和发展
碧海蓝天20221 天前
C++法则24:在标准 C++ 中,没有任何可移植的方式判断指针 T* pt 指向的内存位置是否已经 构造了对象,程序员必须手动跟踪哪些元素已构造。
java·开发语言·c++
Sour1 天前
PDF翻译卡住不动怎么办?扫描件、OCR 和大文件排查清单
前端·pdf·ocr
один but you1 天前
const和constexpr常量表达式
java·前端·javascript