我正在处理一个12位图像,不幸的是它存储为16位tiff。但是,我不知道16位中的哪4位是无用的。因此,我尝试了三种方法:使用0xFFF0、0x0FFF或0x0FF0屏蔽每个像素。在我看来,这三种方法的结果图像看起来相同,但其md5值不同。为什么会这样?如果以后将这三个图像中的任何一个用于其他目的,会有什么区别吗?
答案 0 :(得分:1)
计算机监视器只能显示256个不同的亮度级别。因此,12位图像的低4位被忽略。因此,无论是否将这些位清零,都不会有任何区别。
当以16位整数存储12位图像时,高4位通常保留为零,因此,无论您将它们归零与否,都没有区别。 [有时会缩放像素值以占据整个16位范围,但这通常不是这种情况。]
所以,我的建议是不要掩盖任何内容。将低4位清零只会降低图像中值的精度,使其等效于8位图像。屏蔽高4位是没有意义的,因为它们已经为零。