主要参考《数字图像处理 原理与实践(matlab版)》一书
图像分割就是把图像划分成若干个特定的、具有独特性质的取悦,并提取其中感兴趣目标的技术和过程。
1、霍夫(Hough)变换
霍夫变换提供了一种将图像像素信息按照坐标映射到参数空间的方法。在网上可以搜到很多很详细的解释,小白就不讲了。
其核心思想书上的概括是:
1)确定要识别的曲线解析式集,即在一定精度上枚举带参数的解析式中所有参数的可能取值。
2)为解析式集合中的每个元素构造计数器。
3)遍历图像中的有效像素,并将没有有效像素的坐标一次代入解析式集中的每个元素,若解析式成立,则将改解析式对应的计数器加1.
4)设定阈值t,对于计数器值大于t的解析式,可认为其对应的曲线被识别。
clear
i=imread('D:\Documents\Desktop\example1.jpg');
ig=rgb2gray(i);
bw=edge(ig,'canny');%进行canny边缘检测
[H,T,R]=hough(bw,'RhoResolution',0.5,'ThetaResolution',0.5);%对进行边缘检测后的二值图进行霍夫变换
figure(1),imshow(imadjust(mat2gray(H)),'XData',T,'YData',R,'InitialMagnification','fit');%显示霍夫变换后的边缘图
xlabel('\theta'),ylabel('\rho');
axis on; axis normal;hold on;
colormap(h