matlab中如何将矩阵用极坐标表示出来? 80
1个回答
展开全部
x=imread('greyleveal.bmp');
figure;
imshow(x);
X=abs(fftshift(fft2(x)));
figure;
imshow(X);
temp1=min(min(X))
X=X-temp1;
X=X./(max(max(X))/256);
figure;
imshow(X);
如果想知道相位,就把上面的abs换成angle
---------------------------
I=imread('11.jpg');
O=rgb2gray(I);
f1=abs(fftshift(fft2(O)));
temp1=min(min(f1));
f1=f1-temp1;
f1=f1./(max(max(f1))/256);
figure;
imshow(f1);
输出这个图像已经够了。。。。。。
作了fft变换,得出的是复矩阵。
[1+2i 3+4i
5+6i 7+8i]
可以把"单独一个点"显示在极坐标上。或者同时所有点显示在一个极坐标上(那样只能是混乱的点,谁是谁你根本不知道)。我觉得这样一点意义都没有。
复矩阵其实只提供了两个信息:一是幅直,二是相位。我给的程序已经可以显示幅值了。一般做到这个程度就够了。 如果你要显示相位,就把abs改称angle。
figure;
imshow(x);
X=abs(fftshift(fft2(x)));
figure;
imshow(X);
temp1=min(min(X))
X=X-temp1;
X=X./(max(max(X))/256);
figure;
imshow(X);
如果想知道相位,就把上面的abs换成angle
---------------------------
I=imread('11.jpg');
O=rgb2gray(I);
f1=abs(fftshift(fft2(O)));
temp1=min(min(f1));
f1=f1-temp1;
f1=f1./(max(max(f1))/256);
figure;
imshow(f1);
输出这个图像已经够了。。。。。。
作了fft变换,得出的是复矩阵。
[1+2i 3+4i
5+6i 7+8i]
可以把"单独一个点"显示在极坐标上。或者同时所有点显示在一个极坐标上(那样只能是混乱的点,谁是谁你根本不知道)。我觉得这样一点意义都没有。
复矩阵其实只提供了两个信息:一是幅直,二是相位。我给的程序已经可以显示幅值了。一般做到这个程度就够了。 如果你要显示相位,就把abs改称angle。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |