2024年5月30日发(作者:)

Hough变换直线检测MatLab代码

一.

function Img_hough = hough_s(Img, bw)

%该函数实现hough变换提取直线的功能。

%输入图像x,运行之后直接画出直线。

%选择进行Hough变换的图像行

%Img为原图像;bw为边缘图像

%%

[H,W,D]=size(Img);

Img_hough = Img;

if D==1

channel = Img_hough;

Img_hough = cat(3,channel, channel, channel);

end

[M,N]=size(bw);

%求出图像大小。

%%

dtheta=1;

drho=1;

md=ceil((N+round(sqrt(M^2+N^2)))/drho);

%确定网格的最大区域。

ma=ceil(180/dtheta);

numrhotheta=zeros(md,ma);

%产生计数矩阵。

coordrhotheta=cell(1,1);

% para=cell(1,3);