cv::Mat灰色风格转换
cv::Mat graystyle conversion
我有从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);
}
如果您想更改数据,则不能使用常量引用:
void toGrayscale(cv::Mat& mat)
{
cv::Mat gray;
cv::cvtColor(mat, gray, CV_RGB2GRAY);
cv::cvtColor(gray, mat, CV_GRAY2RGB);
}
编辑:由于Christian Rau的输入,更正了答案。
相关文章:
- cv::Mat灰色风格转换
- 将 GCC/ATT 风格的汇编器转换为可视化工作室汇编器
- 在没有c风格强制转换的情况下,将DWORD_PTR强制转换为class,反之亦然
- 我应该使用c++的reinterpret_cast而不是C风格的强制转换吗?
- 使用c++风格的类型转换将int转换为char
- c++中的构造函数调用或函数风格强制转换
- 将任何容器转换为c风格的数组视图
- Reinterpret_cast与c风格的强制转换
- 旧风格使用sys/select.h宏强制转换警告
- c++枚举类型可以作为函数调用吗?或者它只是一种不同风格的类型转换
- 将字符串转换为c风格字符串并检测空终止字符
- 难以理解c风格的类型转换和动态转换
- c++中的C风格强制转换会产生奇怪的行为
- 在哪些情况下,基类到派生类的c风格强制转换可能导致崩溃
- 通过c风格转换将char*转换为QString
- c++规范是否说明如何在static_cast/const_cast链中选择用于C风格强制转换的类型?
- 转换需要reinterpret_cast、c风格强制转换或函数风格强制转换
- 将c风格的程序转换为c++
- c++类型转换,用于C风格的向下转换
- 编译器开关在c风格的强制转换中禁用const_cast语义