在使用OpenCV4Android的应用程序中,如何确定相机是拍摄8位图像还是32位图像?

时间:2015-12-04 14:52:58

标签: android opencv hsv color-space opencv4android

在OpenCV HSV图像中,Hue的比例取决于图像的类型。来自this answer

  

对于HSV图像,它取决于图像类型(参见OpenCV doc):

     

8位图像:[0,180]中的H,[0,255]

中的V,V      

32位图像:[0,360]中的H,[0,1]

中的S,V

我有两个问题:

  1. 我如何知道相机检测的图像或帧类型(无论是8位还是32位),例如我如何在Color Blob Detection示例应用程序的this class中知道?

  2. 有没有办法强制相机拍摄32位图像(因为我真的想要第二个刻度,如果没有办法,我将不得不找到一种方法将第一个刻度转换为第二个刻度一,因为Android's Color.HSVToColor method遵循第二个尺度)?

1 个答案:

答案 0 :(得分:1)

1)它使用CvType.CV_8U,这意味着8位无符号。

2)可能不是,你必须潜入实际控制相机的代码部分并抓住一个框架才能找到它。但是,您可以使用convertTo函数将8位图像转换为32位。