使用OpenCV查找矩形区域

时间:2017-06-06 12:11:57

标签: java android opencv

我有8个多边形点,如下图所示:

enter image description here

我想使用OpenCV Java

找出这个形状的区域

以下是我尝试的当前代码:

Mat temp_mat=new Mat();
List<MatOfPoint> temp_contour=new ArrayList();
temp_contour.add(new MatOfPoint(new Point(w1,w2),new Point(x1,x2),new Point(y1,y2),new Point(z1,z2)));
Imgproc.drawContours(temp_mat,temp_contour,0,new Scalar(255,0,0));
double contourArea = Imgproc.contourArea(temp_contour.get(0));

contourArea值返回为空

我找到了一些OpenCV Python的参考代码,如下所示:

import numpy
import cv2

contours = [numpy.array([[1,1],[10,50],[50,50]], dtype=numpy.int32) , numpy.array([[99,99],[99,60],[60,99]], dtype=numpy.int32)]

drawing = numpy.zeros([100, 100],numpy.uint8)
for cnt in contours:
    cv2.drawContours(drawing,[cnt],0,(255,255,255),2)

cv2.imshow('output',drawing)
cv2.waitKey(0)

不幸的是,我无法将其转换为Java。我怎样才能找到这个形状的区域?

1 个答案:

答案 0 :(得分:2)

计算多边形的面积与OpenCV无关,实际上可以在没有库的情况下完成......

假设您有一个4点P1的多边形,直到P4 enter image description here

然后该区域可以计算为enter image description here