android - 使用 OpenCV 在 Android 中将 4 channel 矩阵转换为 1 channel

标签 android opencv

我从 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/

相关文章:

android - 将 View 动态添加到 fragment 内的 ScrollView

android - 是否可以使用 Sonar 扫描仪禁用特定 java 项目的 Findbugs Sensor

opencv - 如何在转换为图像之前找到坐标

c++ - 无法使用 C++ 和 OpenCV 从视频中提取帧

android - 无法访问 DynamoDB 表

java - android中使用OnTouchListener实现 slider 结构

java - Android:onTouchEvent启动新 Activity

opencv - 使用OpenCV Sobel算子计算图像梯度方向

android - 在Android中开始OpenCV

c++ - 为什么我的 .exe 文件崩溃,但在调试和发布版本中工作正常?