javaCV OCR文字识别 不到十行实现javaCV图片OCR文字识别

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

javaCV OCR文字识别 不到十行实现javaCV图片OCR文字识别

洛阳泰山   2021-05-19 我要评论
想了解不到十行实现javaCV图片OCR文字识别的相关内容吗,洛阳泰山在本文为您仔细讲解javaCV OCR文字识别的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:javaCV,OCR文字识别,javaCV,图片文字识别,下面大家一起来学习吧。

spring boot项目pom文件中添加以下依赖 

		<!-- https://mvnrepository.com/artifact/org.bytedeco/javacv-platform -->
		<dependency>
			<groupId>org.bytedeco</groupId>
			<artifactId>javacv-platform</artifactId>
			<version>1.5.5</version>
		</dependency>

单类代码实现,复制到idea编辑器里,右键run运行即可。

OCR方法参数说明,

1.lng 语言类型 分为两种 1.eng 英语 2.chi_sim 中文简体

2.dataPath 语言数据集文件夹路径

3.imagePath 需要识别的图片文件路径

 
import org.bytedeco.javacpp.BytePointer;
import org.bytedeco.leptonica.PIX;
import org.bytedeco.leptonica.global.lept;
import org.bytedeco.tesseract.TessBaseAPI;
 
public class OcrTest {
 
    public static String OCR(String lng,String dataPath,String imagePath) {
        TessBaseAPI api=new TessBaseAPI();
        if (api.Init(dataPath, lng)!=0){
            System.out.println("error");
        }
        PIX image= lept.pixRead(imagePath);
        if (image==null){
            return "";
        }
        api.SetImage(image);
        BytePointer outText=api.GetUTF8Text();
        String result=outText.getString();
        api.End();
        outText.deallocate();
        lept.pixDestroy(image);
        return result;
    }
 
    public static void main(String[] args) {
       String text= OCR("chi_sim", "E:\\traineddata", "C:\\Users\\tarzan\\Desktop\\image\\test5.png");
        System.out.println(text);
    }
}

测试样例结果

test1.jpg

test2.jpg

test3.jpg

test4.jpg

test5.jpg

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们