简单应用JavaCV实现图片OCR文字识别

青丝茧 2021-08-19 15:29:14 浏览数 (6638)
反馈

现在识别的产品非常的多,例如人脸识别、文字识别以及语音识别等等。下面,分享一篇用短短几行的Java代码就可以实现图片OCR文字识别的文章,有兴趣的小伙伴们可以参考学习本文章。

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

到此这篇关于简单应用javaCV实现图片OCR文字识别的文章就介绍到这了,更多相关javaCV OCR文字识别内容,请搜索W3Cschool以前的文章或继续浏览下面的相关文章,也希望大家以后多多支持!

0 人点赞