【发布时间】:2015-09-05 06:08:21
【问题描述】:
我对灰度图像应用了一些操作,现在我得到了新值,但问题是强度值现在小于 0,介于 0 和 255 之间,大于 255。对于 [0-255] 之间的值,有没问题,但对于强度值 255 存在问题,因为这些值不能出现在灰度图像中。
因此,我需要对这些值进行标准化,以便所有值(无论是负数还是大于 255 或其他任何值)都在 0 到 255 的范围内,以便显示图像。
为此我知道两种方法:
方法#1
newImg = ((255-0)/(max(img(:))-min(img(:))))*(img-min(img(:)))
其中min(img(:))和max(img(:))是对输入图像img进行一些操作后得到的最小值和最大值。 min 可以小于 0,max 可以大于 255。
方法#2
我只是将所有小于 0 的值设为 0,将所有大于 255 的值设为 255,所以:
img(img < 0) = 0;
img(img > 255) = 255;
我尝试使用这两种方法,但使用第二种方法我得到了很好的结果,但第一种方法却没有。谁能告诉我是什么问题?
【问题讨论】:
-
因为您使用 MATLAB 标记了您的帖子,但没有任何功能性 MATLAB 代码,所以我决定使用适当的 MATLAB 语法为您添加这些位。请让我知道这是否可以。如果没有,我可以回滚我的更改。
-
@rayryeng 感谢敌人添加了 matlab 代码。
标签: image matlab image-processing