做图像识别用什么工具好,delphi还是VC,如,在张图片上有几个字,用程序将上面的字识别出来保存成txt文件(14分)

  • 主题发起人 主题发起人 WenSoft
  • 开始时间 开始时间
W

WenSoft

Unregistered / Unconfirmed
GUEST, unregistred user!
做图像识别用什么工具好,delphi还是VC,如,在张图片上有几个字,用程序将上面的字识别出来保存成txt文件
 
这是OCR技术
和VB VC没有关系
 
OCR,能再具体介绍一下吗?哪里可以找到这方面的资料,用DELPHI可以实现吗?
 
很复杂的东西,记得超星阅读器有个版本好像有OCR功能
 
简单得很,你装一个leadtools,是专门的图像处理组件,支持VB、C++builder,VC、Delphi,可以做图像方面很多的东西,包括文字识别,不过好像不支持中文识别,
新版本的不知道可不可以。
 
啊。不支持中文?那怎么办?没有别的法子了吗?
 
你说的这些东西是不是模式识别的知识啊?去参考一下相关的资料吧。。。应该会有收获的。。。
 
我也有类似的问题要问啊!
不过我的问题没你的这么大,我是想问下怎么才能识别游戏画面中的文字。
这些文字仅包括有限的一些地图名、人物名、0-9的数字等。

比如大话西游里,人物所在地图名称、人物坐标、游戏任务等等,都有相应的显示区域,但是都是画上去的。我现在想编程读取这些信息,可是不知如何着手。

我是新学delphi不到一个月的,想向高手大哥们学习学习,如果有哪位大哥知道如何弄,请附一段简单的源码吧,先谢了。
 
當然用VC,方法很多, 不過,我不喜歡識別沒有現成模板比對的東西,難度大了些.

識別是有條件的,如果沒有很明顯的穩定的特征,還是不要識別好,用"人"去判斷吧.

彩色圖信息量大,算法復雜度高,速度慢,灰度則相反.

一般過程: 多值化--邊緣算法--特征比對--統計判斷
 
......估计找本模式识别的书看看会对你有帮助,用一定办法对图象象素亮度进行分类比对也许会有用,这些都是模式识别这高深的东西搞的,搞数学的人也许会比较有办法。
感觉你的这个问题很高深,如果会了也请不吝赐教哦。
 
如果只是简单应用,可以借用OFFICE2003里的OCR接口,前提是先要安装OFFICE2003。
那个东西做复杂的识别不行。
 
http://www.leadtools.com/
http://www-scf.usc.edu/~flv/ipbook/chap10.htm

表10.2 LeadTools的事件、属性、方法

AboutBox 方法:显示LeadTools的“关于”信息

[P] AddNoise 方法:增加随机噪声

AutoRepaint 属性:该属性为真时,位图自动重画

AutoScroll 属性:该属性为真时,当位图超出窗口范围时,自动出现滚动条

AutoSetRects 属性:该属性为真时,自动调整窗口大小

[P] Average 方法:平滑

BackColor 属性:该属性设置位图的背景色

BackErase 属性:该属性为真时,擦除控件的背景

[E] BinaryFilter 方法:对黑色对象进行腐蚀或膨胀操作

Bitmap 属性:该属性为位图句柄

BitmapBits 属性:该属性为每个象素所占的比特数

BitmapHeight 属性:该属性为位图的高

BitmapPalette 属性:该属性设置调色板中某一项的RGB值

BitmapWidth 属性:该属性为位图的宽

BitmapXRes 属性:该属性为位图的水平分辨率

BitmapYRes 属性:该属性为位图的垂直分辨率

[E] BitonalScaling 属性:设置该属性,以增强二值图的显示效果

BorderStyle 属性:该属性为0时,控件周围没有边框,为1时有边框

[P] Capture 方法:从某一设备上下文指定的矩形区域中获得位图(截屏)

Click 事件:当用户点击控件时,触发该事件

[P] ColorMerge 方法:融合调色板

[P] ColorPlanes 属性:该属性为灰度图的调色板数组

ColorRes 方法:颜色数转换

[P] ColorSeparate 方法:按照调色板将位图分离成一个个的灰度图

[P] Combine 方法:将两幅图结合,例如另一幅图是一个边沿检测的滤波器

Contrast 方法:增加或减少位图的对比度

Copy 方法:将位图拷贝至剪贴板

CreateBitmap 方法:对位图初始化并分配内存,但不调入任何数据

[P] dbAddNew 方法:为当前记录集增加一个新的空记录

[P] dbCanAppend 属性:该属性为真时,表示可以在当前记录集中增加一个记录

[P] dbCanRestart 属性:该属性为真时,表示可以从数据库中重建记录集

[P] dbCanScroll 属性:该属性为真时,表示数据源支持dbMove方法,可以在记录集中滚 动

[P] dbCanUpdate 属性:该属性为真时,表示可以在当前记录集中增加或者更新一个记录

[P] dbClose 方法:关闭当前记录集和数据库

[P] dbCurrentRecord 属性:记录集中当前记录号

[P] dbDelete 方法:删除当前记录

[P] dbEdit 方法:为更新当前记录做准备

[P] dbEditMode 属性:指示当前记录的编辑模式,如只读,可编辑,可添加

[P] dbIsBOF 属性:指示是否到了最前面的记录

[P] dbIsDeleted 属性:指示当前记录是否已经被删除

[P] dbIsEOF 属性:指示是否到了最后面的记录

[P] dbIsOpen 属性:指示是否和一个数据库相连

DblClick 事件:当用户双击控件时,触发该事件

[P] dbLoadBits 属性:指示从数据库中调入位图时,每个象素所占的比特数,为0时,和原来位图的颜色数保持一致

[P] dbLockingMode 属性:当对数据库中已有记录进行更新时,该属性用来指定记录锁定模式

[P] dbMove 方法:将当前记录移动到指定位置

[P] dbMoveFirst 方法:选定记录集中的第一个记录

[P] dbMoveLast 方法:选定记录集中的最后一个记录

[P] dbMoveNext 方法:选定记录集中的下一个记录

[P] dbMovePrev 方法:选定记录集中的前一个记录

[P] dbOpen 方法:在ODBC类型的数据库中打开一个记录集

[P] dbRecordCount 属性:指示记录集中的记录数

[P] dbRequery 方法:从数据库中重建记录集

[P] dbUpdate 方法:更新数据库(当调用dbAddNew或者dbEdit后)

[E] Deskew 方法:旋转位图使其变正,常用于扫描图象的自动纠斜

[E] Despeckle 方法:去除位图中的小斑点

DstClipHeight 属性:指定目标剪切矩形的高度

DstClipLeft 属性:指定目标剪切矩形的左坐标

DstClipTop 属性:指定目标剪切矩形的上坐标

DstClipWidth 属性:指定目标剪切矩形的宽度

DstHeight 属性:指定目标矩形的高度

DstLeft 属性:指定目标矩形的左坐标

DstTop 属性:指定目标矩形的上坐标

DstWidth 属性:指定目标矩形的宽度

[P] Emboss 方法:制作浮雕效果

Enabled 属性:指定控件是否使能

EnableMethodErrors 属性:指示控件是否导致了系统错误

[P] EnableProgressEvent 属性:指示控件是否产生一个进度状态的事件,用来指示已经完成的百分比

[P] EnableTwainEvent 属性:为真时,表示支持多页扫描,每扫一页产生一个TwainPage事件

Fill 方法:用指定颜色填充位图

Flip 方法:上下反转位图

ForceRepaint 方法:重画位图

ForePalette 属性:当为真时,将使用控件的调色板作为前景调色板

[P] GammaCorrect 方法:Gamma校正

GetBitmapDC 方法:获得位图的设备上下文

GetClientDC 方法:获得控件客户区的设备上下文

[P] GetDDB 方法:从控件位图中获得设备相关位图

[P] GetDIB 方法:从控件位图中获得设备无关位图

GetFileInfo 方法:获得指定文件的信息

[P] GetHistogram 方法:获得颜色直方图

GetPalette 方法:获得调色板

[P] GetPicture 方法:返回一个Picture的对象,是位图的一个拷贝

Grayscale 方法:将彩色图转成256级灰度图

Halftone 方法:半影调效果

[P] HistoContrast 方法:使用直方图指定中间亮度,用以增加图象的对比度

[P] HistoEqualize 方法:直方图均衡化

[P] HistogramTable 属性:得到指定强度级别的颜色出现的次数

[P] Hue 方法:改变图象色调

hWnd 属性:得到控件的窗口句柄

InfoBits 属性:得到指定图象文件每个象素所占的比特数

InfoCompress 属性:得到指定图象文件所用的压缩方法

InfoFormat 属性:得到指定图象文件的格式

InfoHeight 属性:得到指定图象文件的高度

InfoPage 属性:对于多页图象文件,指示出该页的页号

[P] InfoPCDRes 属性:用来指示PhotoCD文件格式的分辨率

InfoSizeDisk 属性:得到文件大小

InfoSizeMem 属性:得到要调入该文件,其位图所占的内存大小

InfoWidth 属性:得到指定图象文件的宽度

Intensity 方法:改变图象的亮度

[P] IntensityDetect 方法:用来检测指定范围内的颜色

Invert 方法:反色,制作底片效果

KeyDown 事件:当用户按下键盘时,触发该事件

KeyPress 事件:当用户按下并抬起键盘时,触发该事件

KeyUp 事件:当用户抬起键盘时,触发该事件

Load 方法:调入一个图象文件到位图中

[P] LoadStamp 方法:在JFIF或者LEAD CMP压缩文件中调入一幅Thumbnail图象

[P] Median 方法:中值滤波

[P] Mosaic 方法:马赛克效果

MouseDown 事件:当鼠标按钮按下时,触发该事件

MouseIcon 属性:用户定制的鼠标光标形状

MouseMove 事件:当鼠标移动时,触发该事件

MousePointer 属性:已有的鼠标光标形状(如沙漏,箭头等等)

MouseUp 事件:当鼠标按钮抬起时,触发该事件

Paint 事件:控件的某一部分需要重画时,触发该事件

PaintDither 属性:指定抖动方法,是顺序的还是误差传递的

[P] PaintEffect 属性:指定显示效果,如卷帘,淡入,淡出

PaintPalette 属性:当用只能显示256色或更低的设备显示高颜色数位图时,用来指定调色板的模式,是用固定的调色板,还是用最佳调色板

[P] PaintWhileLoad 属性:当为真时,调入图象的同时就在屏幕上显示,当为假时,全部调入后才在屏幕上显示

Paste 方法:将图象数据从剪切板粘贴到指定的位图

[P] PCDRes 属性:指定PCD文件的分辨率

[P] Posterize 方法:增加海报效果,即将颜色数重新量化成较少的级别

PrintEnd 方法:结束打印工作

PrintStart 方法:开始打印工作

[P] ProgressStatus 事件:进度事件,用来得到已经完成的百分比

ReleaseBitmapDC 方法:释放位图设备上下文

ReleaseClientDC 方法:释放客户区设备上下文

[P] RemapIntensity 方法:使用一个查找表来改变位图的颜色值

[P] RemapTable 属性:RemapIntensity方法中用到的查找表

Render 方法:在任何设备上下文中打印或者显示图象

Resize 事件:当控件第一次显示或者大小改变时触发该事件

Reverse 方法:水平反转位图

Rotate 方法:旋转位图

RubberBandHeight 属性:橡皮筋的高度

RubberBandLeft 属性:橡皮筋的左坐标

RubberBandTop 属性:橡皮筋的上坐标

RubberBandVisible 属性:为真时,橡皮筋可见

RubberBandWidth 属性:橡皮筋的宽度

[P] Saturation 方法:改变图象的饱和度

Save 方法:将图象存成文件

[P] SaveWithStamp 方法:将位图存成包括一幅Thumbnail图象的JPEG或者LEAD CMP文件

ScaleHeight 属性:控件客户区高度

ScaleLeft 属性:控件客户区左坐标

ScaleMode 属性:控件的丈量单位,如厘米,象素,英寸等等

ScaleTop 属性:控件客户区上坐标

ScaleWidth 属性:控件客户区宽度

Scroll 事件:当滚动时,触发该事件

[P] SetDDB 方法:将一设备相关位图拷贝,并将该拷贝指派到控件上

[P] SetDIB 方法:将一设备无关位图拷贝,并将该拷贝指派到控件上

SetDstClipRect 方法:指定目标剪切矩形

SetDstRect 方法:指定目标矩形

[P] SetPicture 方法:将一Picture对象拷贝,并将该拷贝指派到控件上

SetRubberBandRect 方法:指定橡皮筋矩形

SetSrcClipRect 方法:指定源剪切矩形

SetSrcRect 方法:指定源矩形

[P] Sharpen 方法:锐化

[P] Shear 方法:错切

Size 方法:放缩

[P] SpatialFilter 方法:用指定的滤波器处理,如LAPLACE,SOBEL,EMBOSS等等

SrcClipHeight 属性:指定源剪切矩形的高度

SrcClipLeft 属性:指定源剪切矩形的左坐标

SrcClipTop 属性:指定源剪切矩形的上坐标

SrcClipWidth 属性:指定源剪切矩形的宽度

SrcHeight 属性:指定源矩形的高度

SrcLeft 属性:指定源矩形的左坐标

SrcTop 属性:指定源矩形的上坐标

SrcWidth 属性:指定源矩形的宽度

[P] StretchIntensity 方法:对比度扩展

Trim 方法:在指定的矩形区域内剪切图象

TwainAcquire 方法:扫描(Twain标准)

[P] TwainPage 事件:当进行多页扫描时,每扫完一页触发该事件(Twain标准)

TwainSelect 方法:选择扫描仪(Twain标准)

[P] Underlay 方法:将两幅结合起来,使得一幅图做另一幅图的文理

UserPalette 属性:指定调色板中的某一项颜色

VersionDate 属性:版本日期

VersionLevel 属性:版本级别(EXPRESS 或者PROFESSIONAL)

VersionMajor 属性:主版本号

VersionMinor 属性:副版本号

VersionProduct 属性:当前版本的全名

VersionTime 属性:版本时间

bosswangming用过数字识别吗?是否可以用来识别QQ的验证码 我自己的算法识别率不大理想
早知道用这个了 关于图片的缩放旋转以及神经元技术的学习 苦了我一大段时间

这个比ImageEN牛多了
 
我有车牌识别的源码,看你有没有兴趣咯!效果还可以[:D]人民币50元![:D]
 
to ghostxp007,是delphi的源代码吗?如果有详细的控件、注释(没有也行),我要。我的联系方式:tiansan@sina.com qq41443798 请注明车牌照识别。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部