Tôi cố gắng sử dụng hàm checkContour() trong api python mới (cv2) và nó do hoạt động nếu tôi tạo đường viền để kiểm tra bằng cách sử dụng findContours ví dụ:Kiểm tra vùng đường viền trong opencv bằng python
contours, hierarchy = cv2.findContours(imgGray, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
cv2.contourArea(contours[0])
tuy nhiên khi tôi tạo đường viền trên của riêng tôi đoạn mã sau không làm việc
contour = numpy.array([[0,0], [10,0], [10,10], [5,4]])
area = cv2.contourArea(contour)
và lợi nhuận "lỗi: (-215) contour.checkVector (2)> = 0 & & (contour.depth() == CV_32F || contour.depth() == CV_32S) trong chức năng contourArea"
khi tôi thay đổi để
contour = numpy.array([[0,0], [10,0], [10,10], [5,4]], dtype=numpy.int32)
.210
tôi đã "lỗi: (-210) Ma trận có thể không được chuyển đổi sang chỉ tự vì loại yếu tố không phù hợp trong chức năng cvPointSeqFromMat"
Làm thế nào để làm cho đoạn mã sau trong C++ từ tài liệu
vector<Point> contour;
contour.push_back(Point2f(0, 0));
contour.push_back(Point2f(10, 0));
contour.push_back(Point2f(10, 10));
contour.push_back(Point2f(5, 4));
double area0 = contourArea(contour);
hoạt động trong API python mới nhất (2.3)?