将二进制图像转换为OpenCV中的RGB
Convert binary image into RGB in OpenCV
我正在使用opencv 2.4.3进行前景检测。我想将二进制的结果前景转换为RGB图像。我的代码是这样:
cv::VideoCapture cap;
cap.open ( "test.avi " );
cv::Mat img;
cv::Mat finalForeground;
cv::Mat element( 3, 3, CV_8U, cv::Scalar(1) );
cv::gpu::GMG_GPU gmgGpu
gmgGpu.initialize ( cv::Size ( 1600, 1200 ) );
cv::gpu::GpuMat gpuForeground;
cv::Mat rgbForeground;
for ( int i = 0; i < 500; i ++ )
{
cap >> img;
cv::gpu::GpuMat gpuImg ( img );
gmgGpu.operator()(gpuImg, gpuForeground);
gpuForeground.download ( finalForeground);
cv::morphologyEx ( finalForeground, finalForeground, CV::MORPH_CLOSE, element );
cvCvtColor ( finalForeground, rgbForeground, CV_GRAY2BGR );
}
然后我有这样的错误:
错误c2664:'cvcvtcolor':无法将参数2从'cv :: mat'转换为'cvarr *'
没有可以执行此转换的用户定义转换运算符,否则操作员不能称为
有人可以给出任何解决此错误的建议吗?谢谢。
您可能不应该混合C和C 符号。
尝试使用 cv :: cvtcolor 而不是cvcvtcolor
关于您的第二个问题,您是否使用CV :: CVTCOLOR具有三个通道的输入和输出?
相关文章:
- C++OpenCV中的快速索引
- 如何通过opencv中的程序参数定义特征类型?
- 从OpenCV中的三个单个垫子创建BGR垫
- 如何从OpenCV中的目录中按顺序读取文件并使用它进行处理?
- 使用OpENCV中的两个视频仪捕获同一设备
- openCV中的Absdiff可以编译,但显示黑色图像
- opencv中的vec4i是什么
- C OPENCV中的错误是我的第一个代码(中值过滤器)
- 将 openCv 中的曲线从 ROI 转换为帧
- 未定义的参考,差异使用 CUDA 的 OpenCV 中的双边过滤器
- 从直方图OPENCV中的峰中获取色调值
- OpenCV中的MAT和SPARSEMAT有什么区别
- 获取具有X,Y和距离的OPENCV中的3D坐标
- 如何使用Raspberry Pi相机作为C ++ OpenCV中的视频输入
- OpenCV中的Hessian-仿射检测器
- 如何通过Android NDK(C )将图像放入OpenCV中的垫子中
- OPENCV中的GSTREAMER不会通过UDP发送视频数据
- 对于OpenCV中的每个循环
- 快速节省图像到OpenCV中的磁盘
- 如何将 opencv 中的图像数组传递给函数