簡體   English   中英

使用OpenCV查找矩形的區域

[英]Find the area of a rectangle using OpenCV

我有一個多邊形的8個點,如下圖所示:

在此處輸入圖片說明

我想使用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。 我將如何尋找這種形狀的區域?

計算多邊形的面積與OpenCV無關,實際上可以在沒有庫的情況下完成...

假設您有一個由4個點P1P4的多邊形 在此處輸入圖片說明

然后可以將面積計算為 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM