MATLAB_图形学_形态学课程_找出薛之谦的歌词所有字数
原创
©著作权归作者所有:来自51CTO博客作者dream666uping的原创作品,请联系作者获取转载授权,否则将追究法律责任
PPT里面的练习:
原图:
结果:
思想:
文字比较特殊,如果操作不慎。就会大肆粘连。影响判断。
因此,必须用不改变大小的开运算,闭运算操作。
使用到,标记联通分量。
这个是找到一个图像里面的所有连接在一起的所有像素点。
bwlabel():支持灰度图,以及二值图。不过目前我觉得灰度图没有意义。
就需要转换为二值图。
第一次,闭运算。里面变得融合在一起。文字大小不改变。
但是,仍然不完美。这里就说思想,如果,上下分开啦。那么就是用膨胀。strel(‘line’,1,90)上下的话就使用90度。
如果,左右不小心粘连在一起,那么就是用腐蚀。也可以使用线条,但是我用的disk,同样做出来啦。
代码:
clc,clear,close all;
f=imread('h1.jpg');
f=~im2bw(f);
figure,imshow(f);
f1=imclose(f,strel('disk',1));
figure,imshow(f1);
f2=imdilate(f1,strel('line',10,90));
figure,imshow(f2);
f3=imerode(f2,strel('disk',1));
figure,imshow(f3);
[k,n]=bwlabel(f3);
for i=1:n
[r,c]=find(k==i)
mr=mean(r);mc=mean(c);
hold on;
plot(mc,mr,'r*');
end
n
OK