使用ImageMagick和Tesseract进行简单数字图像识别

使用ImageMagick和Tesseract进行简单数字图像识别

由于直接使用 tesseract 进行识别,识别率很低, 

ImageMagick 安装、配置及使用: 
平台:winXP 
1. 安装ImageMagick(ImageMagick website:http://www.imagemagick.org/script/index.php) 
    下载并安装ImageMagick。 http://www.imagemagick.org/script/binary-releases.php#windows

 

输入 convert -version 验证是否成功

 
 
d:\>convert  -version
Version: ImageMagick 6.8.9-4 Q16 x64 2014-06-22 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules OpenMP
Delegates: bzlib cairo freetype jbig jng jp2 jpeg lcms lqr pangocairo png ps rsv
g tiff webp xml zlib

 

 如果命令不能使用把install path加入系统path,以便能调用dll.如D:\Program Files\ocr\ImageMagick-6.8.9-Q16 

 

下面介绍怎么用Tesseract配合ImageMagick进行简单的数字图像识别。

首先Tesseract只能识别bmp,tif,所以先拿ImageMagick转换一下图像。注意得无压缩转换,否则Tesseract报错。

convert -compress none ./S16.gif./S16.tif

 

然后将图片灰度化-colorspace Gray,或者直接二值化-monochrome成黑白,这样识别率会高一点。

接下来裁剪出想要进行精确识别的部分:-crop widthxheight+x+y

比如-crop 320x40+0+1,从左上角开始坐标为(0,1)处,裁剪出320*40大小的图像。注意参数里是英文字母x,不是乘号*。

还有就是网上搜到的-depth 8和-alpha off参数,实践表明加不加效果不大。

一步完成就像这样:

convert -compress none -depth 8 -alpha off -crop 535x24+2+2 -monochrome ./S16.gif ./S16.tif

 

convert.exe:ImageMagick套件的一部分,负责图片格式转换,各个参数的意义如下: 

  • -compress none:转换后的图片不要压缩,如果没有加这一项,后续tesseract处理的时候会报错:read_tif_image:Error:Illegal image format:Compression 
  • -depth 8:设置转换后图像的色深为8位,也就是bpp为8。如果没有此参数,后果如下: 

Tesseract Open Source OCR Engine 
check_legal_image_size:Error:Only 1,2,4,5,6,8 bpp are supported:16 
Segmentation fault 

  • -alpha off:在转换后的图像中不要添加alpha图层。如果没有此参数,后果同上。 
  • -crop 320x40+0+1:从左上角开始坐标为(0,1)处,裁剪出320*40大小的图像。注意参数里是英文字母x,不是乘号*。
  • 紧跟着就是待转换的图片的文件名,
  • 最后是转换后的图片的文件名。

 

预处理完之后最好再放大一下,这次的样例放大到500%~600%的识别效率就能令人满意。

convert  ./S16.tif -scale 600% ./S16B.tif

然后就可以开始用Tesseract进行识别了。

tesseract ./S16B.tif ./S16B -l eng -psm 7

-l eng是选择语言,-psm 7是说源图像是只在一行上的文字。具体说明看Tesseract的帮助。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值