[英]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.