2015-03-31 55 views
0

我試圖將我的圖像的一部分切割(裁切)到另一個,以便可以單獨處理它。我發現的輪廓和現在正試圖保存新墊的整個輪廓,但它給錯誤OpenCV Android:定義並保存新墊子的投資回報率

Mat crop; 
Imgproc.findContours(m, contours, new Mat() ,Imgproc.RETR_EXTERNAL , Imgproc.CHAIN_APPROX_SIMPLE); 
for(int i=0; i <contours.size();i++) 
{ 
    Rect rect = Imgproc.boundingRect(contours.get(i)); 
    crop = m.submat(rect); 
} 

Utils.matToBitmap(crop, bm); 
ImageView iv = (ImageView) findViewById(R.id.imageView1); 
iv.setImageBitmap(bm); 

這裏m是我墊在那裏圖像保存

錯誤: Error

+0

試着給你的農作物墊的尺寸比你的投資回報率 – GPPK 2015-03-31 09:26:21

+0

更大能否請您爲我提供的代碼? – 2015-03-31 09:46:24

回答

3

我總是做到在這種情況下是使用構造用矩形創建一個新的墊:

Mat cropped = new Mat(mOriginal, boudingRect); 

編輯:

你的位圖也應該有相同的尺寸:

bm = Bitmap.createBitmap(crop.size().width,crop.size().height, Bitmap.Config.ARGB_8888); 
+0

已經嘗試過但不能正常工作 – 2015-03-31 09:45:10

+1

@幫助臺問題與位圖有關。您正試圖保存在不同大小的位圖中。您需要創建與裁剪大小相同的bm。 – 2015-03-31 09:46:57

+0

你能幫我解釋一下嗎? – 2015-03-31 09:48:32

相關問題