1

我在圖像中檢測到輪廓。在檢測到輪廓後,我會根據區域過濾輪廓。然後,我圍繞車牌繪製了一個邊界矩形,只圍繞一個輪廓。如何使用opecv在android中的邊界矩形周圍設置興趣區域

如何裁剪剩餘的圖像,並只得到繪製的矩形區域,也就是說,我只想得到車牌周圍繪製的矩形。我沒有矩形的座標。我只是在opencv中使用Core.rectangle()函數繪製一個矩形。

任何人都可以幫助我。請在android + opencv中提供代碼,使用它可以獲得期望的結果。我也附上一張圖片。 Here I have drawn rectangle using Core.rectangle(). I want to get the rectangle part and crop other part.

+0

沒有它你腦中,你可以谷歌「OpenCV的作物」? – Piglet

+2

[如何在OpenCV中裁剪CvMat?]可能重複(http://stackoverflow.com/questions/8267191/how-to-crop-a-cvmat-in-opencv) – Piglet

回答

-1
List<MatOfPoint> contour = new ArrayList<MatOfPoint>(); 
       Mat hierarch = new Mat(); 
       //find contours 
       Imgproc.findContours(gray1, contour, hierarch, Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE); 
       //itrerate through each contour 
       for (int Idx = 0; Idx < contours.size(); Idx++) { 
        double area = Imgproc.contourArea(contours.get(contourIdx)); 
        if (area > largest_area) { 
         largest_area = (int) area1; 
         largest_contour_index = Idx; 
         Rect bounding_rect = Imgproc.boundingRect(contour.get(Idx)); 
         Mat img = ROI.submat(bounding_rect1); 

         Bitmap resultBitmap = Bitmap.createBitmap(gray.cols(), gray.rows(), Bitmap.Config.ARGB_8888); 
         Utils.matToBitmap(gray, resultBitmap); 
         ((ImageView) findViewById(R.id.imageView)).setImageBitmap(resultBitmap); 

        } 

       } 
+0

儘管此代碼片段可能會解決問題,[包括解釋](// meta.stackexchange.com/q/114762)確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! –

+0

讓我試試看 – mazakpe