2013-10-11 288 views
0

這個問題是從http://answers.opencv.org/question/22242/region-of-interest-of-yv12-matrix/(我迄今沒有收到答案)的crosspost。感興趣的YV12矩陣

我在YV12色彩空間中存儲以下OpenCV矩陣(存儲爲單通道圖像)。它充滿了來自Android相機預覽的數據。

mYuv = new Mat(480 + (480/2), 640, CvType.CV_8UC1); 

是否有可能提取該圖像的一些子區域(第一步驟)和將其轉換爲RGB色彩隨後(第二步驟)?我想首先提取區域以便在轉換時保持良好性能。要說,我想提取以下矩形:

x: 150 
y: 50 
width: 60 
height: 60 

在此先感謝。

回答

0

使用子陣列

roi = mYuv.submat(new Rect(x,y,width,height)); 

然後Imgproc.cvtColor與正確的代碼。 我沒有馬上檢查它的方式,但我會嘗試:

Imgproc.cvtColor(roi, destination, Imgproc.COLOR_YUV2RGB_YV12); 

希望幫助!

+0

對不起,我忘了提及,但我已經嘗試將我的ROI傳遞給一個'Mat'拷貝構造函數,並且得到了OpenCV聲明異常。這種方法顯然不起作用,因爲YUV存儲在1通道圖像中,因此應該進行某種預處理。 –