有一些图像只有少数非零值,同时非零值大都不大,这是为了更好的显示出图像,可以提高图像的对比度,单纯的想法就是非零值线性放大。
I = imread('***.png');
m = max(max(max(I)));
I = I*255/m;
imwrite(I, '***.png');
在计算图像PSNR很高的情况下,一定要注意uint8类型的数据,减去的负数会加上2^(8/16/32)(uint8/16/32),这样如果一张黑色图片减去原图,得到的PSNR还是很高,这里讲到了一部分原因https://blog.csdn.net/u010886794/article/details/84784453。需要强调的一点就是,这个在C/matlab/python都是一样的道理,所以必须要先转化为浮点数,再进行计算