下面matlab图像处理的一个程序,运行之后总显示??? Error using ==> times Matrix dimensions must agree.
clc;
[I,map]=imread('X1.tif'),
I=double(I);
[M N]=size(I);
F=fft2(I),
fftshift(F),
Dcut=100;D0=250;D1=150;
for u=1:M
for v=1:N
D(u,v)=sqrt(u^2+v^2);
BUTTERH(u,v)=1/(1+(sqrt(2)-1)*(Dcut/D(u,v))^2);
EXPOTH(u,v)=exp(log(1/sqrt(2))*(Dcut/D(u,v))^2);
if D(u,v)<D1
THPFH(u,v)=0;
elseif D(u,v)<=D0
THPFH(u,v)=(D(u,v)-D1)/(D0-D1);
else
THPFH(u,v)=1;
end
end
end
BUTTERG=BUTTERH.*F;
BUTTERfiltered=ifft2(BUTTERG);EXPOTG=EXPOTH.*F;
EXPOTfiltered=ifft2(EXPOTG);THPFG=THPFH.*F;
THPFfiltered=ifft2(THPFG);
subplot(2,2,1),imshow(noisy)
subplot(2,2,2),imshow(BUTTERfiltered)
subplot(2,2,3),imshow(EXPOTfiltered)
subplot(2,2,4),imshow(THPFfiltered)
答案:我有程序实例。你错误在那?
把错误粘贴一下我文库上有论文。叫matlab的hough变换实例含程序。可以运行。你可以下下来看一下应该有用的。
上一个:appollo matlab 解答疑惑!
下一个:利用matlab 如何对二维图形中任意n点求距离