matlab中读入灰度图象,然后进行傅立叶变换,傅立叶变换之后是一个矩阵,这个矩阵想把它用极坐标表示出来,请问如何在matlab中操作?读入图象1和2,2是1旋转之后的图象,分别对它们做傅立叶变换,

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 16:53:52

matlab中读入灰度图象,然后进行傅立叶变换,傅立叶变换之后是一个矩阵,这个矩阵想把它用极坐标表示出来,请问如何在matlab中操作?
读入图象1和2,2是1旋转之后的图象,分别对它们做傅立叶变换,然后把它们转换到极坐标下,利用"直角坐标中的旋转等于极坐标下的平移"性质,求出旋转角.
主要意思是这样的,下面是我写的程序,
I=imread('11.jpg');
O=rgb2gray(I);
B=imrotate(O,80,'bicubic'); %%可选的值为nearest(最近邻插值)、bilinear(双线性插值)、%%bicubic(双三次插值).
[m,n]=size(O);
B=imresize(B,[m,n],'bicubic');
f1=fft2(double(O)); %%傅立叶变换
f2=fft2(double(B));
%转换为极坐标
[th1,r1]=cart2pol(real(f1),imag(f1));
[th2,r2]=cart2pol(real(f2),imag(f2));
subplot(1,2,1),p1=polar(th1,r1);
subplot(1,2,2),p2=polar(th2,r2);
p=p1.*conj(p2);
q=p./abs(p)
f_ifft=ifft2(q); %%傅立叶反变换求出冲击函数
figure,polar(q);
figure,polar(f_ifft);

傅立叶变换以后得出的矩阵是复矩阵,虚部只是说明了相位.所以建议你只显示它的实部就够了.
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.

matlab中读入灰度图象,然后进行傅立叶变换,傅立叶变换之后是一个矩阵,这个矩阵想把它用极坐标表示出来,请问如何在matlab中操作?读入图象1和2,2是1旋转之后的图象,分别对它们做傅立叶变换, MATLAB中:如何将一幅灰度图像的每个像元的灰度值读入一个矩阵中一张灰度图像,灰度值在0~255之间.将每个像元的灰度值读入一个矩阵中.然后将该矩阵在MATLAB中显示出来. 急!怎么用matlab读入图像每个点的灰度,然后计算每个点的灰度梯度?怎么用matlab读入图像每个点的灰度,然后计算每个点的灰度梯度?灰度梯度={[f(x,y)-f(x+1,y+1)]²+[f(x+1,y)-f(x,y+1)]²}½ matlab中imread函数读入图像后,产生的矩阵是什么意思,每个元素代表像素的灰度值吗? 求一程序Matlab对图像划分为4*4的子块,然后求取平均灰度值,再利用平均灰度值进行分类.分为大于平均灰度值I和小于平均灰度值II,然后再对I求平均灰度值A,对II求平均灰度值B,然后再对I类子块 matlab中如何求图象的 旋转角?读入图象1和2,2是1旋转之后的图象,分别对它们做傅立叶变换,然后把它们转换到极坐标下,利用直角坐标中的旋转等于极坐标下的平移性质,求出旋转角. 请高手 求 使用matlab进行基于频率域的灰度图像假彩色编码大概内容是先读入灰度图像 傅里叶变化到频率域 分为三到四个 频域级赋予rgb系数 转化为彩色图像 在进行傅里叶逆变化 求完整的编码 . MATLAB怎么实现对图象的分块然后并且对各块进行直方图均衡两种方法:均值二分法:这种算法把输入图像的直方图以输入图像的灰度平均值为分界线,分成两个子直方图然后再分别对两个子直 matlab中,有幅灰度图像,对所有元素灰度值求个平均值,然后将每个元素灰度值与平均值比较,大于平均值的显示一幅图像,小于平均值的显示另一幅图像,请问具体代码怎么写? matlab绘制直方图?请问我根据下面这个绘制向量直方图的例子x=[1 2 3 4 5 6];y=[2 6 8 7 8 5];bar(x,y);title('a bar of polt');xlable('x');ylable('y');怎么改编:题目是读入灰度图,然后再显示灰度直方图.麻烦你看 MATLAB怎么实现对图象的分块然后并且对各块进行直方图均衡 matlab中如何求一个图像的灰度级 MATLAB怎么求图像中某个灰度值的坐标? 在ERDAS中怎么进行灰度密度分割 怎样用matlab对一幅图像进行灰度直方图均衡化处理 matlab去除噪声如何进行图像增强 分割 灰度处理 把直线去掉 有没有直接对一幅bmp灰度图像进行傅里叶变换的MATLAB命令或函数. 对灰度图像进行霍夫曼编码,用Matlab怎么实现啊?