【发布时间】:2015-11-13 22:29:52
【问题描述】:
我已经导入了一张图片。我已将其解析为双精度并对其进行了一些过滤。
当我用imshow 绘制结果时,双重图像太暗了。但是当我使用imshowpair 绘制原始图像和最终图像时,两个图像都正确显示。
我尝试过使用uint8、im2uint8,乘以255然后使用这些函数,但获得正确图像的唯一方法是使用imshowpair。
我能做什么?
【问题讨论】:
-
你试过
imshow(im,[]);吗?另外,请向我们展示您为解析图像数据而编写的代码。如果不查看您的尝试,就不可能知道发生了什么。 -
为了解析我刚才使用的数据 I = im2double(I);另外,我试过你说的,它奏效了!为什么?如果我想将图像存储在矩阵中,我该怎么办?谢谢!
-
图像已经存储为矩阵,所以这没有意义。但是,使用
im2double只是将图像转换为double,如果图像已经是double,则不会发生任何事情。这可能是因为您过滤图像的方式。你在做某种边缘检测吗?你得到黑暗图像的原因可能是因为你的大部分强度都是负面的。imshow假设对于double类型,强度的动态范围是[0,1],因此imshow(im,[])会移动范围,因此最小值映射为 0,最大值映射为 1。 -
我在问如何更改图像的动态范围,但经过您的解释,我能够自己完成。你不知道我花了多少时间试图解决这个问题,感谢你,我终于做到了!非常感谢!
标签: image matlab image-processing imshow