[英]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.