android手机怎么调用OCR识别图像中的文字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android手机怎么调用OCR识别图像中的文字相关的知识,希望对你有一定的参考价值。

最近做项目需要用到OCR识别,查到谷歌在android里集成了ocr,但是不知道怎么使用,求高手指教!谢谢! 该贴已经同步到

android手机调用OCR识别图像中的文字的方法为:
一、下载&编译tesseract
1、首先下载tess-two。
2、进入 tess目录,里面有三个项目,我们只需要进入tess-two就可以直接编译了。
3、编译好后,将src下的两个包以及libs导入到自己的项目就可以用。
二、使用
1、使用时,首先创建TessBaseAPI对象。
TessBaseAPI baseApi=new TessBaseAPI();
//初始化tess
//android下面,tessdata肯定得放到sd卡里了
//如果tessdata这个目录放在sd卡的根目录
//那么path直接传入sd卡的目录
//eng就是英文,关于语言,按ISO 639-3标准的代码就行,具体请移步wiki
baseApi.init("tessdata文件夹的父级目录", "eng");
//options是为了缩放图片,这个酌情缩放,图片小的话可以不缩放
BitmapFactory.Options options=new BitmapFactory.Options();
//缩小为原来的1/2
options.inSampleSize=2;
//bitmap,我这里是以流的形式,只要能形成Bitmap就行
Bitmap bitmap = BitmapFactory.decodeStream(instream,null,options);
instream.close();
//如果图片有Alpha值,那么最好设置一下
//设置要ocr的图片bitmap
baseApi.setImage(bitmap);
//根据Init的语言,获得ocr后的字符串
String text= baseApi.getUTF8Text();
//释放bitmap
baseApi.clear();
//如果连续ocr多张图片,这个end可以不调用,但每次ocr之后,必须调用clear来对bitmap进行释放
//释放native内存
baseApi.end();
///////////////////////////其它方法//////////////////////////////////
//获取字符边框
Pixa pixa= baseApi.getCharacters()
//同上,这个是整段文字的边框
baseApi.getRegions();
//同上,只不过这里是条线
baseApi.getTextlines();
//剩下的自己测试吧。
//转为rect数组 ,之后,可以很方便的在图片上框出方框
//
ArrayList rects=pixa.getBoxRects();
2、开始识别。
参考技术A

下面是使用ocr文字识别软件识别图像文字的参考方法:

1、在电脑上准备一个ocr文字识别软件,并打开;

2、通过左上角把图片添加进去;

3、在上面选择文件的识别格式和识别效果;

4、点击左上角的添加文件按钮,开始进行图像文字识别;

希望上面使用ocr文字识别软件进行图像文字识别的方法,可以帮助到您!

参考技术B 关于ocr的识别 需要一个辅助软件 例如汉王 你可以在论坛搜索下汉王 找到那个帖子 然后下载 安装后 看看能不能识别ocr 如果不行的话 你就百度这个 文档识别OCR软件 这个软件是可以的

图像文字识别(OCR)用什么算法小结

说明:主要考虑深度学习的方法,传统的方法不在考虑范围之内。

1.文字识别步骤

1.1detection:找到有文字的区域(proposal)。

1.2classification:识别区域中的文字。

2.文字检测

文字检测主要有两条线,两步法和一步法。

2.1两步法:faster-rcnn.

2.2一步法:yolo。相比于两步法,一步法速度更快,但是accuracy有损失。

文字检测按照文字的角度分。

2.1水平文字检测:四个自由度,类似于物体检测。水平文字检测比较好的算法是2016ECCV乔宇老师团队的CTPN。

2.2倾斜文字检测:文本框是不规则的四边形,八个自由度。倾斜文字检测个人比较喜欢的方法是2017CVPR的EAST和Seglink。套路:检测文本框->用radon hough变换等方法进行文本矫正->通过投影直方图分割出单行的文本的图片->最后对单行OCR。

3.文字识别

只考虑了不需要对文字进行分割。

3.1定长的,各个字符之间看成是独立的:multi-digit number。

3.2不定长的:RNN/LSTM/GRU+CTC。白翔老师团队的CRNN写的比较清楚。

3.3不定长的attention-mechanism(CNN+RNN+Attention):分为hard attention(直接给出hard location,不能直接暴力pb)、soft attention(可以暴力pb)、gradient-base attention。

 

参考:https://www.zhihu.com/question/20191727

 

以上是关于android手机怎么调用OCR识别图像中的文字的主要内容,如果未能解决你的问题,请参考以下文章

OCR软件是文字识别软件,怎么样用在百度文件中?

身份证扫描识别,手机身份证OCR扫描识别

Android 图片文字识别DEMO(基于百度OCR)

js怎么识别图片上的文字

OCR识别技术文档识别怎么用

证件图像识别API接口应用广泛