myocr

本文介绍OCR图文转换的实际操作过程,包括必要的软件安装如ImageMagick、liblept及tesseract等,以及如何调整参数来提高识别率。文章还探讨了不同库在性能上的差异,并给出了具体的测试案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ocr测试

安装
1)安装imageMagick.      该库用于图像格式转换
2)安装liblept.          该库不需要显示的图像转换, 直接支持多种图片格式
3)安装tesseract.        图片文字内容提取

以上三库在编译过程中均 ./configure --enable-shared --enable-static


帮助:
1)http://www.huangshifu.net/2010/01/29/ocr-stuff.html
2)tessercat bug:
    http://www.win.tue.nl/~aeb/linux/ocr/tesseract.html
    patch5 可以解决某些png导致core掉的问题。
3)安装 liblept。 安装过程中出现z_compress什么的未定义, 在网上查询得到其定义值为-1
    #define z_compress,,,  (-1)


开发:
1)imageMagick支持多线程。 根据需求, 程序是基于convert.c修改而成的。
2)tesseract不支持多线程。(官方有说明。 其中用到全局、静态变量)。 程序基于

重新configure tesseract, make, make install 得到其库和config_auto.h

然后根据自己的需要修改是否定义HAVE_LIBTIFF或者HAVE_LIBLEPT

然后测试二者的效果和性能






性能和效果影响:
1) tesseract的词库对性能影响很大。 图片中带中文的, 使用英文词库比中文词库好许多。 当然中文提不出来。 (但数字能提出来, 我只需要数字)
2) scale 和 crop 和灰度等对性能和准确率有影响。
char *argv[15] = {"presudo", "-compress", "none",  "-colorspace", "Gray",
143                         "-gravity", "SouthWest", "-crop", "70x70%"};

144     //                  "-scale",  "150%" };



初步结论, 使用imageMagick转换到tiff再提取数字, 比直接使用支持多抓奶哥格式的lept要稍微快一些。  但虚存占用略大。




error/constitute.c/ReadImage/532

出现此错误, 是ImageMagick的delegate的问题。 可以使用convert -list configure查看DELEGATE, 然后安装对应的图形lib、再重新安装ImageMagick



========================================================================

#!/bin/bash
#http://hi.baidu.com/zzticzh/blog/item/b363a8cc64ff4e0401e9289d.html




#生成box文件
tesseract myeng.tif myeng -l chi_sim batch.nochop makebox

##tesseract myeng.tif myeng -l myeng batch.nochop makebox

#vi classify/ocrfeatures.cpp tess_fscanf -> fscnaf
#得到tr txt log文件。 注意查看log文件
tesseract myeng.tif myeng nobatch box.train

#得到unicharset文件
unicharset_extractor myeng.box

#得到inttemp pffmtable myeng.unicharset Microfeat
mftraining -U unicharset -O myeng.unicharset myeng.tr
mv -f inttemp myeng.inttemp
mv -f Microfeat myeng.Microfeat
mv -f pffmtable myeng.pffmtable

#多个的结果聚集
##mftraining -U unicharset -O myeng.unicharset myeng.tr

#得到normproto
cntraining myeng.tr
mv -f normproto myeng.normproto

touch normproto.unicharambigs

combine_tessdata myeng.







==========================================================================

ocr效果参数

char *argv[32] = {"presudo", "-compress", "none", "-trim", "-gravity", "NorthWest", "-crop", "100x100+0+0", "+repage",
154                         "-normalize", "-level", "25%",
155                         "-sigmoidal-contrast", "10,50%", "-monochrome",
156                         NULL};

不压缩、去边缘空白 切割 、颜色归一、对比度增强   再转为二值化


=============

安装图形库 png gif tiff jpeg


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值