永发信息网

android怎么调用tesseract实现OCR功能

答案:1  悬赏:70  手机版
解决时间 2021-01-30 12:10
android怎么调用tesseract实现OCR功能
最佳答案
一、下载&编译
1、首先下载tess-two
git clone git://github.com/rmtheis/tess-two tess
2、进入 tess目录,里面有三个项目,只需要进入tess-two就可以直接编译了
cd tess/tess-two
ndk-build
3、编译好后,将src下的两个包以及libs导入到自己的项目就可以用
二、使用
tesseract 使用了 leptonica的图像处理库,对于图像处理还是比较强大的
Android官方地址:tesseract-android-tools
但它必须要一个匹配库,即tessdata,我们可以从官方拷贝,在前面git的项目里面tesseract源码目录有现成的tessdata可以用,对于中文,google code上也有下载,当然也可以自己训练不同语言的tessdata。
包leptonica的类我们不必使用,只要使用tess包的类就行了
TessBaseAPI
使用时,首先创建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<Rect> rects=pixa.getBoxRects();
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
鸽子为什么喜欢在天上转圈?
华为mate7屏没坏但是翘起来了送售后维修要钱
青年公寓(运城盐湖区)地址在什么地方,想过去
矿山的意思是什么啊?知道的请说下!
道路运输行政诉讼的被告是()。A.道路运输从业
我是新生,是女生,非师范类化学专业转师范类
演讲稿《公司的发展与未来》怎么写?
红安高铁站在哪条线上
办理银行卡需要预存多少钱?
把句子写得形象生动的题目并有答案5个
亚龙宾馆(运城芮城县)怎么去啊,我要去那办事
梦幻内衣霞霞美甲怎么去啊,我要去那办事
杭州搞传销的多吗?
聚缘宾馆(运城芮城县)地址在什么地方,想过去
为什么中国建设银行都是工资卡的账户啊?
推荐资讯
东方巨匠美发沙龙地址在什么地方,想过去办事
航汇通航空票务服务有限公司(新乡售票处店)怎
超市里租摊位卖冰淇淋会挣钱吗?房租30000一年
红岩桥地址在哪,我要去那里办事
卡露丝国际洗衣连锁(柘荣店)地址有知道的么?
本人在广州某企业上班,已经怀孕8个月,现打
农药高温能杀掉吗
惠州哪个沙滩好玩
酷色家纺地址有知道的么?有点事想过去
身高1.72米的人在平面镜前1.5米,平面镜长1米
求助银行首套房商业贷款计算
一本科技书,每页24行,每行26个字,共有125页,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?