下面是我对验证码识别步骤的分析
一、预处理
1、读入一幅图像(彩色),对其进行灰度化
RGB系统中一个颜色值由3个分量组成,这样的图像称为彩色图像,RGB系统称为颜色空间模型。
灰度化的方法有一下几种:
g (x,y)=[ R(x,y)+ G(x,y)+ B(x,y)] / 3
g (x,y)= 0.11*R(x,y)+ 0.59*G(x,y)+ 0.3* B(x,y)
g (x,y) = Min (R(x,y), G(x,y), B(x,y))
2、二值化处理
一般24位RGB图像的灰度图是8位256个灰度级的,如果把这个灰度级减少到1位2个灰度级,就得到一副二值图,二值图像中的数据全部是0或1。
实现代码:
g_max=double(max(max(I1))); %最大值换成双精度数据
g_min=double(min(min(I1)));
T=round(g_max-(g_max-g_min)/3.5); % T 为二值化的阈值
[m,n]=size(I1);
I2=(double(I1)>=T);
subplot(223);imshow(I2);title('二值化');