我正在尋找OpenCV中的C++相當於cvConvertImage
。C++相當於OpenCV的cvConvertImage
cvConvertImage(const CvArr* src, CvArr* dst, int flags=0)
具體來說,我有翻轉的紅色和藍色通道一cv::Mat
形象,我想換回來。在cvConvertImage中,您可以通過將標誌設置爲CV_CVTIMG_SWAP_RB
來完成此操作。
我正在尋找OpenCV中的C++相當於cvConvertImage
。C++相當於OpenCV的cvConvertImage
cvConvertImage(const CvArr* src, CvArr* dst, int flags=0)
具體來說,我有翻轉的紅色和藍色通道一cv::Mat
形象,我想換回來。在cvConvertImage中,您可以通過將標誌設置爲CV_CVTIMG_SWAP_RB
來完成此操作。
晚的答案,但如果你想交換R
和B
可以使用cv::cvtColor(...)
與選項CV_BGR2RGB
。
如果你想要更復雜的操作mixchannels
是要走的路
訪問單個像素看Fastest way to extract individual pixel data?
然後,它只是一個交換紅色/藍色值
我不知道在C的任何方法++接口來做到這一點的問題,但如果你不」不想做手工交換像@馬丁建議,您還可以轉換到cv::Mat
和IplImage
使用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);
我覺得mixChannels()是你在找什麼。