2012-02-25 71 views
0

我正在處理視頻項目中的圖像嵌入問題,我選擇屏幕(ROI)上的圖像部分作爲矩形,並且我正在分離圖像的該部分。現在我想從實況視頻中保存五個前一幀(我可以做到這一點),並將五幀/圖像的ROI的像素值保存在五個不同的陣列上。我將使用該數組生成背景並刪除前景對象。獲取像素值dor選擇openCV ROA

任何一個知道如何保存該選定區域的數組像素值?

在此先感謝。

回答

1

opencv的C++接口使用cv :: Mat來存儲圖像像素。 以下代碼顯示如何聲明矩陣B「指向」矩陣A的ROI。 矩陣是圖像。 ROI是一個矩形(x = 0; t = 0;寬度= 0;高度= 100)。使用opencv highgui函數保存圖像。

cv::Mat A(640,480,CV_8C3); 
cv::Rect rect(0,0,100,100); 
cv::Mat B = A(rect); 
cv::imwrite("my_roi.pbg",B); 

如果你需要從一個視頻幀的讀取,使用cv::VideoCapture capcap >> frame抓住並檢索每個圖像作爲cv::Mat。如果您想要轉到視頻文件中的其他位置,請使用cv::VideoCapture::set(..,CV_FRAME_MSEC),請閱讀manual