user2735131
问问题
801 次
1 回答
2
嗯..我认为您正在寻找cvCvtColor:
void cvCvtColor(const CvArr *src, CvArr *dst, int code)
将图像从一种颜色空间转换为另一种颜色空间。
http://opencv.willowgarage.com/documentation/c/miscellaneous_image_transformations.html
例如,如果您有一个 RGBA 图像并希望将其转换为 BGR 以进行保存:
cvCvtColor(rgba_src, bgr_dst, CV_RGBA2BGR)
在实际代码中,它会是这样的:
/* Create an IplImage with 3 channels and 8 bits per channel,
with the same dimensions that rgba_src*/
IplImage *bgr_dst = cvCreateImage(cvGetSize(rgba_src), IPL_DEPTH_8U, 3);
cvCvtColor(rgba_src, bgr_dst, CV_RGBA2BGR);
cvReleaseImage(&rgba_src);
类似的东西。请记住,如果 rgba_src 是来自捕获设备的帧,则不应释放它。
于 2013-09-17T05:27:52.557 回答