2012-01-30 121 views
1

我正在寻找OpenCV中的C++相当于cvConvertImageC++相当于OpenCV的cvConvertImage

cvConvertImage(const CvArr* src, CvArr* dst, int flags=0) 

具体来说,我有翻转的红色和蓝色通道一cv::Mat形象,我想换回来。在cvConvertImage中,您可以通过将标志设置为CV_CVTIMG_SWAP_RB来完成此操作。

回答

4

晚的答案,但如果你想交换RB可以使用cv::cvtColor(...)与选项CV_BGR2RGB

如果你想要更复杂的操作mixchannels是要走的路

0

我不知道在C的任何方法++接口来做到这一点的问题,但如果你不”不想做手工交换像@马丁建议,您还可以转换到cv::MatIplImage使用cvConvertImage为你做这项工作:

// Load image into: cv::Mat mat_img; 
... 

// Convert cv::Mat to IplImage 
IplImage ipl_img = mat_img; 

cvConvertImage(&ipl_img , &ipl_img , CV_CVTIMG_SWAP_RB);