- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hough变换课件
%Hough变换?clc;clear;close?all?f=imread(D:\dj.jpg);?
%若是彩色图片转灰度化?if?length(size(f))2?????f=rgb2gray(f);?end?%?
figure(1)?
subplot(121);imshow(f);?
%利用edge函数进行边缘检测?j=edge(f,Sobel);?
subplot(122);imshow(j);?[row,col]=size(j);?pinfang=round((row*row+col*col)^0.5);?A=zeros(2*pinfang,180);??
for?m=1:row?????for?n=1:col?????????if?j(m,n)0?
????????????for?thera=1:180?
????????????????r=thera/180*pi;??%角度转弧度?
????????????????rho=round(m*cos(r)+n*sin(r));%ρ=cosθ+sinθ?????????????????rho=rho+pinfang+1;%-l:l转换到1:2l+1?????????????????A(rho,thera)=A(rho,thera)+1;?????????????end?????????end?????end?end??
[rho,thera]=find(A40);%交点超过60条线的点,ma,na为参数空间的坐标点?nma=length(rho);?for?i=1:nma?????hold?on?
????????m=1:row;?%rho=ma(i)-1;?????????r=thera(i)/180*pi;?
????????n=(rho(i)-pinfang-m*cos(r))/(0.00001+sin(r));???????????????plot(n,m,r);?end
%Hough变换?clc;clear;close?all?f=imread(D:\dj.jpg);?
%若是彩色图片转灰度化?if?length(size(f))2?????f=rgb2gray(f);?end?%?
figure(1)?
subplot(121);imshow(f);?
%利用edge函数进行边缘检测?j=edge(f,Sobel);?
subplot(122);imshow(j);?[row,col]=size(j);?pinfang=round((row*row+col*col)^0.5);?A=zeros(2*pinfang,180);??
for?m=1:row?????for?n=1:col?????????if?j(m,n)0?
????????????for?thera=1:180?
????????????????r=thera/180*pi;??%角度转弧度?
????????????????rho=round(m*cos(r)+n*sin(r));%ρ=cosθ+sinθ?????????????????rho=rho+pinfang+1;%-l:l转换到1:2l+1?????????????????A(rho,thera)=A(rho,thera)+1;?????????????end?????????end?????end?end??
[rho,thera]=find(A40);%交点超过60条线的点,ma,na为参数空间的坐标点?nma=length(rho);?for?i=1:nma?????hold?on?
????????m=1:row;?%rho=ma(i)-1;?????????r=thera(i)/180*pi;?
????????n=(rho(i)-pinfang-m*cos(r))/(0.00001+sin(r));???????????????plot(n,m,r);?end?
clc;clear;??%%?录入图像并显示?
f=imread(D:\dj2.jpg);%读入彩色图像,注意不能使用灰度图像??
f=rgb2gray(f);%将彩色图像转换为灰度图像,?f=im2double(f);?figure();???
subplot(2,2,1);imshow(f);title(原图);?%%?提取图像边缘?[m,n]=size(f);%得到图像矩阵行数m,列数n??for?i=3:m-2???
for?j=3:n-2%处理领域较大,所以从图像(3,3)开始,在(m-2,n-2)结束?l(i,j)=-f(i-2,j)-f(i-1,j-1)-2*f(i-1,j)-f(i-1,j+1)-f(i,j-2)-2*f(i,j-1)+16*
文档评论(0)