Bra*_*esh 3 matlab fft image-processing complex-numbers
我试图在matlab中找到图像的傅里叶变换.我这样做没有库函数的功能.代码是:
clc;
clear;
N=128;
a=imread('lena128','bmp');
zeros(N,N);
for m=1:N
for n=1:N
w(m,n)=(exp(-1i*2*pi/N))^((m-1)*(n-1));
end
end
af1=(w*a);
af=((w*(af1.')).');
Run Code Online (Sandbox Code Playgroud)
编译此程序时,会发生以下错误:
??? Error using ==> mtimes
Complex integer arithmetic is not supported.
Error in ==> qn4 at 12
af1=(w*a);
Run Code Online (Sandbox Code Playgroud)
当我使用a = rand(1,128)而不是a = imread('lena128','bmp')时,我没有得到那个错误.我在网上搜索,发现了类似的问题.但没有解决方案.任何人都可以为我指出错误吗?
imread
给你一个数组,其元素是整数(uint8
我认为类型).然后你试图将那些具有复杂数字的东西组合在一起,但这不起作用.特别是,MATLAB不会自动将它们变成double
s或float
s或类似的东西.
你可能应该说
a=double(imread('lena128','bmp'));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2555 次 |
最近记录: |