繁体   English   中英

Kinect红外灰色Pixelformat转换为8bpp

[英]Kinect Infrared gray Pixelformat converting to 8bpp

我们的目标是使用来自Kinect的红外图像制作电影。 我们正在使用AForge videowriter ,我们已经有了工作代码来处理普通的RGB流。 (RgbResolution640x480Fps30)

查看文档( http://msdn.microsoft.com/en-us/library/microsoft.kinect.colorimageformat.aspx ),图像采用16位格式,但只使用前10个? 那么我们有一个10位格式的图像或这是如何工作的?

查看Aforge文档,只接受以下格式: 24或32 bpp图像或灰度8 bpp(索引)图像 http://www.aforgenet.com/framework/docs/html/84a560df-bfd5-e0d6-2812-f810b56a254d.htm

  • 为什么只接受8 bpp索引图像?
  • 是否可以将16(10?)位图像从Kinect转换为8 bpp索引图像
  • 或者也许允许AForge接受16位图像

谢谢!

Kinect应该产生16位样本中包含11位分辨率的深度或z。 若要解决此问题,您可以将样本除以2^3=8 ,这将产生钝的结果,或使用像HDR摄影中使用的色调映射技术。 最后一个是有意义的,因为Kinect对于近距离物体的分辨率与远距离物体没有相同的分辨率(参见此StackOverflow问题 ),因此可以在11b样本和8b降低分辨率之间使用非线性映射,如下所述在OpenKinect Wiki中

在Aforge上,我会说支持8位灰色,24位RGB(每平面8位)和32位RGBA(每平面8位)是很常见的。

AForge可以为您转换为8位图像:

Bitmap grayImage8bit = AForge.Imaging.Filters.Grayscale.CommonAlgorithms.BT709.Apply(original_bitmap);

我一直用它来转换32位rgba位图。

暂无
暂无

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

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