标度差值图像主要应用在两张图像相减的时候,在实践中,大多数图像都是有8码显示,因此像素值在0到255之间,因此在差值图像中,像素值的取值为-255到255之间,因此在显示这一结果时需要对图像作标度。
方法一:
对每一个像素值再加上255,然后除以2。该方法无法保证像素的取值可以覆盖0到255的全部8比特范围,但是所有的像素一定在这一范围。另外,在除以2过程中固有的截尾误差通常将导致精确度的损失。虽然有很多的不足,但是该非常的简单方便。
方法二:
该方法弥补的方法一的缺点,它可以得到更高的精确度并使像素取值覆盖整个8比特的范围。我们首先提取最小值,并把它的负值加到所有的差值图像的像素中(如果最小值是-a(a>0),则加上a;如果最小值是a,则减去a;通过该操作后,差值图像中最小的值就为0了)。之后,每一个像素乘以255/Max,其中Max为上一步操作之后图像的中最大像素值,这样就将所有的像素标定到0到255的范围内。
function result = scaleImg2(source)
% scale the image(let the value between 0 and 255)
% source - the image should be scaled with double data type
%
minVal = min(source(:));
source = source - minVal;
maxVal = max(sourc