⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hough_l.m

📁 matlab的源程序
💻 M
字号:
img1=imread('K:\demo\photo\2123.jpg');
img= RGB2GRAY(img1)
edimg=edge(img);
s=size(img);
nr=s(1);
nth=s(2);
accarray=zeros(nr,nth);

rmax=sqrt(s(1)^2+s(2)^2);
dr=2*rmax/(nr-1);
dth=pi/nth;
th=[0:dth:(pi-dth)]; 

for y=1:s(1),
   for x=1:s(2)
      if edimg(y,x)==1
         r=(x*cos(th))+(y*sin(th));
         rdx=round(r/dr+nr/2);
         for k=1:nth
            accarray(rdx(k),k)=accarray(rdx(k),k)+1;
         end
      end
   end
end

colormap gray;
imagesc(accarray);

m=max(accarray);
mm=max(m);
mn=min(m);
th=round((mm+mn)/2);

dr=2*rmax/(nr+1);
thimg=im2bw(accarray,th);
[l,num]=bwlabel(thimg);

figure, imshow(img)

for i=1:num
   mask=l==i;
   region=mask.*accarray;
   [tmpc,tmpr]=max(region);
   [tmax,col]=max(tmpc);
   row=tmpr(col);
   
   r=dr*(row-(nr/2));
   th=dth*(col-1);
   
   line([0 s(2)], [(r/sin(th)) ((r-(s(2)*cos(th)))/sin(th))]);
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -