Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我试图在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.')).'); 当我编译该程序时,会发生以下错误: ??? Error using ==> mtimes Complex integer arithmetic is not supported. Error in ==> qn4 at 12 af1=(w*a); 当我使用a = rand(1,128)而不是a = imread('lena128','bmp')时,我没有收到该错误。我在网上搜索,发现了类似的问题。但是没有解决办法。谁能为我指出错误? 回答: imread给您一个数组,其元素为整数(我认为是uint8类型)。然后,您尝试将那些具有复数的数字组合在一起,但这是行不通的。特别是,MATLAB不会自动将它们转换为double或float或任何类型的东西。 你可能应该说 a=double(imread('lena128','bmp')); 更多&回答... |
![]() |
![]() |