我有一个8位灰度图像,并对其应用转换(修改的人口普查变换)。变换后,我需要用9位来表示图像的每个像素。我将我的9位数据存储在uint16中,当我想显示我的图像时,我使用了两种不同的方法。我不确定哪一个是正确的做法,或者是否有更好的方法来做到这一点。如何使用opencv表示和显示9位图像
1-从9位取得最重要的8位,并将图像表示为8位。
2-将每个像素值除以2并将图像表示为8位。
在这两种方式都有信息的损失。任何人都可以提出一个更好的方法来做到这一点
谢谢
我有一个8位灰度图像,并对其应用转换(修改的人口普查变换)。变换后,我需要用9位来表示图像的每个像素。我将我的9位数据存储在uint16中,当我想显示我的图像时,我使用了两种不同的方法。我不确定哪一个是正确的做法,或者是否有更好的方法来做到这一点。如何使用opencv表示和显示9位图像
1-从9位取得最重要的8位,并将图像表示为8位。
2-将每个像素值除以2并将图像表示为8位。
在这两种方式都有信息的损失。任何人都可以提出一个更好的方法来做到这一点
谢谢
你为什么不正常化它们? normalizedValue=currentValue/maximumValue
。然后只显示标准化的图像?
您可以表示的强度级别的数量很大程度上取决于您的硬件。即使你设法代表额外的灰度级别,你也无法区分它们。您在问题中提出的两种方法基本相同。
正常化它们? 8bit,9bit等等。 normvalue = CurrentValue的/最大。显示标准化的图像。 – William 2013-03-01 13:44:46