繁体   English   中英

cv :: Mat灰色转换

[英]cv::Mat graystyle conversion

我有从RGB图像创建的cv :: Mat,每个组件8位,4个通道(CV_8UC4)。 我想将它转换成灰色的Mat,然后将我的灰色Mat转换成4通道Mat。 我怎样才能做到这一点? 以下代码将我带到EXC_BAD_ACCESS:

void myMethod(const Mat& mat) {
      cv::Mat gray;
      cv::cvtColor(mat, gray, CV_RGB2GRAY);
      gray.copyTo(mat);
}

如果要更改数据,则不能使用const引用:

void toGrayscale(cv::Mat& mat)
{
     cv::Mat gray;
     cv::cvtColor(mat, gray, CV_RGB2GRAY);
     cv::cvtColor(gray, mat, CV_GRAY2RGB);
}

编辑:通过Christian Rau输入更正了答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM