在使用 OpenCV4Android 的应用程序中,如何确定相机拍摄的是 8 位图像还是 32 位图像?
In an app using OpenCV4Android, how to find out if the camera is taking 8-bit image or 32-bit image?
在 OpenCV HSV 图像中,Hue 的比例取决于图像的类型。来自 、
For HSV images it depends on the image type (see OpenCV doc):
8 bit images: H in [0, 180], S,V in [0, 255]
32bit images: H in [0, 360] ,S,V in [0,1]
我有两个问题:
我如何知道相机检测到的是哪种类型的图像或帧(无论是 8 位还是 32 位),例如我如何知道颜色斑点检测示例应用程序中的 this class?
有没有办法强制相机拍摄32位图像(因为我很想要第二个比例尺,如果没有办法,我将不得不想办法转换第一个缩放到第二个,因为 Android's Color.HSVToColor
method 遵循第二个比例)?
1) 它使用 CvType.CV_8U
所以这意味着 8 位无符号。
2) 可能不是,您必须深入研究实际控制相机并抓取帧的代码部分才能找到答案。但是,您可以使用 convertTo
函数将 8 位图像简单地转换为 32 位图像。
在 OpenCV HSV 图像中,Hue 的比例取决于图像的类型。来自
For HSV images it depends on the image type (see OpenCV doc):
8 bit images: H in [0, 180], S,V in [0, 255]
32bit images: H in [0, 360] ,S,V in [0,1]
我有两个问题:
我如何知道相机检测到的是哪种类型的图像或帧(无论是 8 位还是 32 位),例如我如何知道颜色斑点检测示例应用程序中的 this class?
有没有办法强制相机拍摄32位图像(因为我很想要第二个比例尺,如果没有办法,我将不得不想办法转换第一个缩放到第二个,因为 Android's
Color.HSVToColor
method 遵循第二个比例)?
1) 它使用 CvType.CV_8U
所以这意味着 8 位无符号。
2) 可能不是,您必须深入研究实际控制相机并抓取帧的代码部分才能找到答案。但是,您可以使用 convertTo
函数将 8 位图像简单地转换为 32 位图像。