Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-14, 20:46   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 Matlab图像处理错误

我试图在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'));

更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 05:13


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.