matlab里用imshow做图像的傅里叶变换时总是出现以下问题,是什么原因啊?我没财富了,救急啊
???Errorusing==>imageTrueColorCDatacontainselementoutofrange0.0<=value<=1.0.Errorin==...
??? Error using ==> image
TrueColor CData contains element out of range 0.0 <= value <= 1.0.
Error in ==> E:\MATLAB6p1\toolbox\images\images\imshow.m
On line 103 ==> hh = image(xdata, ydata,cdata, 'BusyAction', 'cancel', ...
这是为什么呀,imshow函数不是软件自带的吗?为什么会有错?开始我还以为是我的照片太大了,就不断地缩小,结果还是出现这个错误。高手指教以下啊,好抓狂。以下是我的程序
i=imread('G:\360data\重要数据\我的图片\1.jpg');%读入原图像
figure(1);
imshow(i);
colorbar;
title('原图像')
j=fft2(i); %傅里叶变换
k=fftshift(j); % 直流分量移到频谱中心
l=log(abs(k)); %对数变换
figure(2);
imshow(1,[]); %显示原图
colorbar;
title('经过傅里叶变换后的图像')
n=ifft2(j)/255; %傅里叶逆变换
figure(3);
imshow(n);
colorbar;
title('经过傅里叶逆变换后的图像')
m=fftshift(j); %直流分量移到频谱中心
RR=real(m); %取傅里叶变换的实部
II=imag(m); %取傅里叶变换的虚部
A=sqrt(RR.^2+II.^2); %计算频谱府幅值
A=(A-min(min(A)))/(max(max(A)))*255; % 归一化
figure(4);
imshow(A);
colorbar;
title('离散傅里叶频谱'); 展开
TrueColor CData contains element out of range 0.0 <= value <= 1.0.
Error in ==> E:\MATLAB6p1\toolbox\images\images\imshow.m
On line 103 ==> hh = image(xdata, ydata,cdata, 'BusyAction', 'cancel', ...
这是为什么呀,imshow函数不是软件自带的吗?为什么会有错?开始我还以为是我的照片太大了,就不断地缩小,结果还是出现这个错误。高手指教以下啊,好抓狂。以下是我的程序
i=imread('G:\360data\重要数据\我的图片\1.jpg');%读入原图像
figure(1);
imshow(i);
colorbar;
title('原图像')
j=fft2(i); %傅里叶变换
k=fftshift(j); % 直流分量移到频谱中心
l=log(abs(k)); %对数变换
figure(2);
imshow(1,[]); %显示原图
colorbar;
title('经过傅里叶变换后的图像')
n=ifft2(j)/255; %傅里叶逆变换
figure(3);
imshow(n);
colorbar;
title('经过傅里叶逆变换后的图像')
m=fftshift(j); %直流分量移到频谱中心
RR=real(m); %取傅里叶变换的实部
II=imag(m); %取傅里叶变换的虚部
A=sqrt(RR.^2+II.^2); %计算频谱府幅值
A=(A-min(min(A)))/(max(max(A)))*255; % 归一化
figure(4);
imshow(A);
colorbar;
title('离散傅里叶频谱'); 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询