2014-11-08 189 views
-1

我想裁剪圖像中的圓形狀。 我有一個灰度輸入圖像。 在這張圖片中有一個圓形。我需要它。 如何在Android上使用Open CV進行操作?如何裁剪圓形圖像openvc android

輸入圖像:

enter link description here http://www.photo-dictionary.com/photofiles/list/2264/2960temperature_gauge.jpg

Bitmap bmpProces = BitmapFactory.decodeFile(path+inpuImage); 
Mat imageMat = new Mat (bmpProces.getHeight(), bmpProces.getWidth(), CvType.CV_8U); 
Bitmap myBitmap32 = bmpProces.copy(Bitmap.Config.ARGB_8888, true); 
Utils.bitmapToMat(myBitmap32, imageMat); 

回答

0

你必須創建一個面具,填充圈,以及在根據目標的座標,並使用CopyTo在mask.Then來抽取目標的圓形區域,您可以在面具Mat.You可以看到示例代碼和一些更多的細節here。有一個代碼段,您可以將其轉換爲Java並使用它:

// center and radius are the results of HoughCircle 
// mask is a CV_8UC1 image with 0 
cv::Mat mask = cv::Mat::zeros(img.rows, img.cols, CV_8UC1); 
circle(mask, center, radius, Scalar(255,255,255), -1, 8, 0); //-1 means filled 
img.copyTo(dst, mask); // copy values of img to dst if mask is > 0.