最近在研究的【如何确定文字范围以提供边缘检测和Hough变换】的方法,目前想到了三个方法,介绍如下:
膨胀(腐蚀)算法
膨胀(腐蚀)算法的原理就是将符合条件的像素点(块)替换成设定的形状
二值图像的膨胀算法可以使用matlab提供的imdilate函数实现
其中X是M*N的二值图像矩阵,B为结构元素,其元素必须包含只有0和1,其数据类型任意不需要是逻辑类型,返回值Z是与X大小相同的二值图像矩阵,使用如下:
>> X=imread('number.bmp');
>> B=[0 1 0;1 1 1;0 1 0];
>> Z1=imdilate(X,B);
>> Z2=imdilate(Z1,B);
>> Z3=imdilate(Z2,B);
>> imshow(X),figure,imshow(Z1),figure,imshow(Z2),figure,imshow(Z3);
这段代码表示的是三次膨胀,其中B=[0 1 0;1 1 1;0 1 0];表示的是每个像素点按照十字形状膨胀效果如下:
明显可见原本的图象被加粗了。
在本次中我尝试了拉近字间距,规格为: