1
4

1 に答える 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 に答える