0

cvMat オブジェクトに YUYV イメージ バッファがあります (スニペットを以下に示します)。色変換のために、この cvMat オブジェクトを IplImage に変換する必要がありました。

CvMat cvmat = cvMat(480, 640, CV_8UC2, yuyv_buff);

cvmatこのオブジェクトをオブジェクトに変換するために、以下のオプションを試しましたIplImage(src: https://medium.com/@zixuan.wang/mat-cvmat-iplimage-2f9603b43909 )。

//cvGetImage()
CvMat M;
IplImage* img = cvCreateImageHeader(M.size(), M.depth(), M.channels());
cvGetImage(&M, img); //Deep Copy

//Or
CvMat M;
IplImage* img = cvGetImage(&M, cvCreateImageHeader(M.size(), M.depth(), M.channels()));

//cvConvert()
CvMat M;
IplImage* img = cvCreateImage(M.size(), M.depth(), M.channels());
cvConvert(&M, img); //Deep Copy

しかし、何も機能しませんでした。cvGetImage()、入力としてcvConvert()期待cvArr*されます。それらに渡す&cvmatと例外がスローされます。

OpenCV 2.4 で CvMat オブジェクトを IplImage オブジェクトに変換する他の方法はありますか?

注: C++ API やその他のバージョンの OpenCV は使用できません。私はOpenCV 2.4のみを使用するように制限されています

編集 1:私の目的は、この YUYV バッファーを RGB イメージ オブジェクトに変換することです。

4

1 に答える 1