从Image <gray,float>转换为Image <gray,byte> </gray,byte> </gray,float>时亮度/对比度损失

时间:2015-01-12 13:20:23

标签: c# opencv emgucv

我们正在使用OpenCV和Emgu 2.4.9包装器。

当我们将Image<Gray,float>转换为Image<Gray,Byte>(使用convert<Gray,Byte>())时,亮度/对比度会降低。 我们使用Image<Gray,Byte>进行显示,暂时使用Image<Gray,float>进行处理(例如卷积)。

但是,当Image<Gray,float>保存为JPEG时,我会看到所需的强度/亮度等级。

当我检查Image.Save()方法时,它看起来最终最终调用OpenCV imwrite_()函数,后者又将Float图像转换为字节格式:'image.convertTo(temp,CV_8U);'< / p>

因此,当Image<Gray,float>保存为JPEG时,我希望强度等级降低。但它没有(即使是相同的convertTo()方法,它反过来调用OpenCV cvt_()函数)。

但是,当转换为Byte并保存亮度/对比度的浮动图像减少时。

在这两种情况下,我相信,saturate_cast<>会被调用。

此处的相关问题:Emgu image conversion from Image<Gray,float> to Image<Gray,Byte> results in intensity loss?

Image<Gray,float>转换为Image<Gray,Byte>时,是否有人能够描述正在发生的事情以及如何保持亮度/强度?

0 个答案:

没有答案