关于hough变换边界连接的matlab实现
matlab提供了三个函数用于Hough变换连接边界,使用Hough函数可以对图像进行Hough变换,将直角坐标系变为极坐标,然后对极坐标尽心修正
之后使用houghpeak函数对图像进行峰值检测,检测出密集的交点
最后使用houghline函数对图像进行直线的连接
Hough变换的函数为Hough函数,调用方式为:
[H,theta,rho]=hough(BW,param1,val1,param2,val2)
其中,输入BW为已经经过边缘检测的二值图像。
param1是【ThetaResolution】参数,他代表角度θ的分辨率。
val1是param1的参数值,其默认数值是1。
param2是【RhoResolution】参数,它表示长度r的分辨率。
val2是param2的参数值,其默认数值是2。
函数返回矩阵H是经过Hough变换后r,θ坐标平面的图像;theta和rho反别表示r和θ轴,theta的范围是【-90,89】,它表示与垂直向下方向的夹角
hough函数的使用:
X=zeros(200,200);
X(50,50)=1;
X(150,150)=1;
X(50,150)=1;
X(150,50)=1;
X(100,100)=1;
X=im2bw(X);