</pre><pre code_snippet_id="626447" snippet_file_name="blog_20150324_3_4815205" name="code" class="plain"><span style="background-color: rgb(240, 240, 240);">%%能够运行</span>close all;
clc;
I=imread('C:\Users\Administrator.GHTT-20141012XI\Desktop\lena.jpg');
[x,y]=size(I);
BW1= dither(I);
BW=edge(BW1,'canny');
figure;imshow(I);title('原图')
%figure;imshow(BW);title('边缘检测图像')
rho_max=floor(sqrt(x^2+y^2))+1; %由原图数组坐标算出ρ最大值,并取整数部分加1
%此值作为ρ,θ坐标系ρ最大值
accarray=zeros(rho_max,180); %定义ρ,θ坐标系的数组,初值为0。
%θ的最大值,180度
Theta=[0:pi/180:pi]; %定义θ数组,确定θ取值范围
for n=1:x,
for m=1:y
if BW(n,m)==1
for k=1:180
%将θ值代入hough变换方程,求ρ值
rho=(n*cos(Theta(k)))+(m*sin(Theta(k)));
%将ρ值与ρ最大值的和的