繁体   English   中英

Emgucv打开tif 16bpp灰度文件,但将强度降低到8bpp

[英]Emgucv opens tif 16bpp greyscale file but scales intensity down to 8bpp

我正在使用C#winforms应用程序,该应用程序需要处理一些以16bpp灰度.tif文件提供的图像。 我正在使用emgucv打开文件并获取像素阵列,但是我发现实际上像素的强度已缩小到8bpp。

我使用Gimp v2.10.10创建了一个最小的示例图像来重现此图像。 使用此代码:

string a = @"White.tif";

Image<Gray, UInt16> imgSinProcesar = new Image<Gray, UInt16>(a);

this.Text = "Color: " + imgSinProcesar.GetAverage().Intensity;

链接到示例文件: https ://drive.google.com/open ? id = 14UQ4efP8lnkwA3kg6XFMxan1OF_Skvoc我正在使用的img色彩完整,强度为65535。 但是,计算出的平均值为255,我在调试中检查了每个像素的强度也为255。

这是正常现象吗? 我确实需要16位精度才能正确完成必要的任务。

谢谢。

认为这是由于一些自动转换。 尝试以这种方式加载图像。

CvInvoke.Imread(a, Emgu.CV.CvEnum.ImreadModes.AnyDepth);

这将返回Mat对象,但是如果需要Image对象,则可以使用.ToImage<Gray, UInt16>()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM