我从 ARGB_8888 位图创建了一个矩阵,如下所示:
Mat detectedFaceMat = Utils.bitmapToMat(bmp1);
结果矩阵有 4 个 channel 。我现在需要将它与 1 个 channel 矩阵进行比较。不确定如何将 4 channel 转换为 1(我只需要灰度)。
最佳答案
OpenCV 支持 CV_BGRA2GRAY
与 cv::cvtColor()
或 cvCvtColor()
它将 BGRA 像素转换为灰色。
ARGB 可能实际上是内存中的 BGRA(这是最常见的格式)。在这种情况下,上述转换将按预期工作。
如果没有,您始终可以使用绿色 channel 作为灰色的一个很好的近似值。
关于android - 使用 OpenCV 在 Android 中将 4 channel 矩阵转换为 1 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9490513/