使用OpenCV4Android,如何从轮廓创建ROI(感兴趣区域或子区域)?

时间:2016-04-20 00:09:43

标签: android opencv opencv3.0 opencv4android opencv-contour

给定图像Mat和轮廓(MatOfPoint),如何创建ROI(感兴趣区域)/ submat?

我可以在docs of Mat上看到三个有趣的方法,

  

Mat submat(int rowStart,int rowEnd,int colStart,int colEnd)        提取矩形子矩阵。

     

Mat submat(Range rowRange,Range colRange)        提取矩形子矩阵。

     

Mat submat(Rect roi)        提取矩形子矩阵。

  1. 有没有办法找出rowStartrowEndcolStart和。{ 来自轮廓的colEnd
    1. 有没有办法从轮廓中获取rowRangecolRange
      1. 我可以从轮廓中制作Rect吗?

1 个答案:

答案 0 :(得分:2)

使用Imgproc.boundingRect(MatOfPoint contour)方法。这样您就可以使用列出的submat()方法中的第三种方法:

Rect roiRect = Imgproc.boundingRect(contour);
Mat roiSubmat = originalMat.submat(roiRect);

roiSubmat是您感兴趣的区域(存储在垫子中)。