我有从 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 图像创建的 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);
}