【发布时间】:2012-09-06 11:14:59
【问题描述】:
我有从 RGB 图像创建的 cv::Mat,每个组件 8 位,4 个通道 (CV_8UC4)。我想将它转换为灰度垫,然后将我的灰度垫存储回 4 通道垫。我怎样才能做到这一点?以下代码将我带到 EXC_BAD_ACCESS:
void myMethod(const Mat& mat) {
cv::Mat gray;
cv::cvtColor(mat, gray, CV_RGB2GRAY);
gray.copyTo(mat);
}
【问题讨论】:
-
为什么需要这个功能?它没有提供任何新功能。
-
顺便说一句,你确定你有一个 RGB 图像,因为 OpenCV 使用默认 BGR 打开图像。
-
“RGB”和“4 通道”如何混合?你有 RGBA 吗?
标签: c++ ios opencv computer-vision