使用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.- Q16 x64 -- http://www.imagemagick.org
Copyright: Copyright (C) - 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 -alpha off -crop 535x24++ -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 % ./S16B.tif
然后就可以开始用Tesseract进行识别了。
tesseract ./S16B.tif ./S16B -l eng -psm
-l eng是选择语言,-psm 7是说源图像是只在一行上的文字。具体说明看Tesseract的帮助。
使用ImageMagick和Tesseract进行简单数字图像识别的更多相关文章
- 转:关于使用ImageMagick和Tesseract进行简单数字图像识别
据说Tesseract可是世界排名第三的OCR神器,2010年又更新了3.0版本.Tesseract原先是HP写的,现在Open Source了. 下面介绍怎么用Tesseract配合ImageMag ...
- 用imagemagick和tesseract-ocr破解简单验证码
用imagemagick和tesseract-ocr破解简单验证码 Tesseract-ocr据说辨识程度是世界排名第三,可谓神器啊. 准备工作: 1.安装tesseract-ocr sudo apt ...
- 利用Python进行简单的图像识别(验证码)
这是一个最简单的图像识别,将图片加载后直接利用Python的一个识别引擎进行识别 将图片中的数字通过 pytesseract.image_to_string(image)识别后将结果存入到本地的txt ...
- 百度 OCR API 的使用以及与 Tesseract 的简单对比
目录 百度 OCR API 初探 用 Python 调用百度 OCR API 与 Tesseract 的简单对比 百度 OCR API 初探 近日得知百度在其 APIStore 上开放了 OCR 的 ...
- [Solution] 简单数字识别之Tesseract
图像识别涉及的理论:傅里叶变换,图形形态学,滤波,矩阵变换等等. Tesseract的出现为了解决在没有这些复杂的理论基础,快速识别图像的框架. 准备: 1.样本图像学习,预处理 (平均每1个元素出现 ...
- 验证码识别 Tesseract的简单使用和总结
Tesseract是什么 OCR即光学字符识别,是指通过电子设备扫描纸上的打印的字符,然后翻译成计算机文字的过程.也就是说通过输入图片,经过识别引擎,去识别图片上的文字.Tesseract是一种适用于 ...
- 通过Tesseract实现简单的OCR
Tesseract 简介 Tesseract 的 OCR 引擎最先由 HP 实验室于 1985 年开始研发,至 1995 年时已经成为 OCR 业内最准确的三款识别引擎之一.然而,HP 不久便决定放弃 ...
- Tesseract OCR简单实用介绍
做字符识别,不能不了解google的Tesseract-OCR,但是如何在自己的工程中使用其API倒是语焉不详,官网上倒是很详尽地也很啰嗦地介绍如何重新编译生成适合自己平台的lib和dll,经过近些天 ...
- Tesseract:简单的Java光学字符识别
1.1 介绍 开发具有一定价值的符号是人类特有的特征.对于人们来说识别这些符号和理解图片上的文字是非常正常的事情.与计算机那样去抓取文字不同,我们完全是基于视觉的本能去阅读它们. 另一方面,计算机的工 ...
随机推荐
- CopyU!下一次更新将增加对设备厂商及型号的识别!
CopyU!下一版本的更新将加入对设备厂商及型号的识别功能,当用户连接设备时,CopyU!将能够辨别出设备的详细型号等,能够在一定程度上帮助用户发现问题设备或仿冒设备. 敬请期待即将到来的新更新!
- input 的 placeholder属性在IE8下的兼容处理
placeholder是input标签的新属性,在使用的时候有两个问题: 1.IE8 下不兼容 处理思路: 如果浏览器不识别placeholder属性,给input添加类名placeholder,模仿 ...
- PHP读书笔记(1)-PHP语法结构与变量
一 .php基础语法 1.php语法结构 标准风格:<?php code; ?>.PHP每句代码用;(分号)结尾.<---就用这个,其他的看看就可以了 短风格:<? code; ...
- 提升资源利用率的MapReduce框架
Hadoop系统提供了MapReduce计算框架的开源实现,像Yahoo!.Facebook.淘宝.中移动.百度.腾讯等公司都在借助 Hadoop进行海量数据处理.Hadoop系统性能不仅取决于任务调 ...
- Punycode与中文互转
Punycode是一个根据RFC 3492标准而制定的编码系统,主要用于把域名从地方语言所采用的Unicode编码转换成为可用于DNS系统的编码 "中文域名"不被标准的解析服务器支 ...
- How to: cgminer (Bitcoin, Litecoin etc.) + AMD Radeon driver install on CentOS
UPDATE 7/7/13: If you want to use Catalyst drivers version 12.8 you will find that X won’t start (er ...
- MVC 避免黄页
可以使用HandleErrorAttribute 有两种方式可以使用它,在类或者方法的头上加 [HandleError] 这种直接在类或者方法上加[HandlerError]手动添加 另外一种方式是使 ...
- Struts1和Struts2的区别和对比(完整版)
Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简 ...
- Solr使用初探——SolrJ的使用
二.SolrJ的使用 SolrJ覆盖了solr的全部功能,下面将自己在实际开发中所使用的程序粘贴出来并适当加以解释,由于本人比较菜,代码书写不是那么的精练,还请见谅. 1. 创建solrserver ...
- apache2.2 + tomcat6 整合以及集群配置整理
运行环境:apache2.2.X + tomcat6.0.X + window xp 1. 安装Apache,服务启动后在浏览器中输入http://localhost进行测试,如果能看到一个" ...