文章分类 - Delphi 验证码
Delphi 验证码识别
摘要:[基础篇] 首先看一段实现24位色图像灰度化转换的代码 procedure Grayscale(const Bitmap:TBitmap); var X: Integer; Y: Integer; R,G,B,Gray: Byte; Color: TColor; begin for Y := 0 to (Bitmap.Height - 1) do begin for X := 0 to (Bitmap.Width - 1) do begin Color := Bitmap.Canvas.Pixe...
阅读全文
摘要:一、图像的灰度化处理的基本原理将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可用两种方法来实现。第一种方法使求出每个像素点的R、G、B三个分量的平均值,
阅读全文
摘要:procedure TForm1.Button1Click(Sender: TObject);var jpg: TJPEGImage; // 要use Jpeg单元begin // 显示jpg大图片的方式 jpg := TJPEGImage.Create; jpg.LoadFromFile(getcurrentdir() + '\pic.jpg'); Image1.Picture.Bitmap.Assign(jpg); // 因为 img 控件是基于bmp的 jpg.Free;end;procedure TForm1.Button2Click(Sender: TObject);
阅读全文
摘要:出处:http://wangzebin.blog.51cto.com/653300/128549/复杂一点的地方主要是验证码的识别部分: 多亏这个网站的验证码图片比较简单,4个字符组成,虽然有干扰色,有噪点,有字符粘联,并带一定旋转,但只有数字,没有字母和汉字,否则麻烦大了,得做个完整的ocr系统。 图片处理流程如下: 识别模拟过程如下: 对比相似度是识别的难点,我这里由于图片比较简单,所以比较省力。对于比较复杂的图片识别,你可以建立数学模型,将图片和模板做成矩阵,依照矩阵变换和旋转进行相似度的比较,感兴趣的哥们可以更深入的了解。 源码我把它放到资源里面去,大家可以免分下载。各位见笑了,de.
阅读全文