Matlab中我将一副图像处理后要显示该图像的幅度谱,可是用imshow(I)输出的图像整个都是白色的

可是,用imshow(I,[])输出的图像全是黑色的,这事怎么回事?另外我对幅值做对数变换来压缩范围,即AFA=fft2(A);temp=log(1+abs(AFA);s... 可是,用imshow(I,[])输出的图像全是黑色的,这事怎么回事?
另外我对幅值做对数变换来压缩范围,即AFA=fft2(A);temp=log(1+abs(AFA);show(temp)后还是整个都是白色的,可是用imshow(temp,[])后就得到了正确的幅度谱
展开
 我来答
wantws
2011-10-20 · TA获得超过530个赞
知道答主
回答量:58
采纳率:0%
帮助的人:64万
展开全部
主要是数据类型和数据跟灰度对应的关系
AFA定义的时候改成uint8就行了,比如AFA=zeros(imagesize,'uint8');
或者imshow的时候转换数据类型imshow(mat2gray(AFA));
直接用imshow()默认好像是0为黑,1为白,这个范围很容易超过,一般不是uint8的数据,就会显示全黑或者全白
imshow(,[])可以是应为[]为空是,函数自动将灰度空间映射到输入矩阵中最小值-最大值范围,相当于imshow(,[min(AFA(:)) max(AFA(:))])
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式