Closed npd26 closed 5 years ago
Hello,
I am using opencv_apps, find contours_nodelet.cpp to detect circular contour. so far I can detect circular contour by modifying that source code llike this,
/// Draw contours my trial work cv::Mat drawing = cv::Mat::zeros(canny_output.size(), CV_8UC3); cv::Point2f rect_points[4]; cv::Rect bounding_rect; std::vector<cv::Point> approx; for (size_t i = 0; i < contours.size(); i++) { cv::approxPolyDP(cv::Mat(contours[i]), approx, cv::arcLength(cv::Mat(contours[i]), true)*0.02, true); cv::Scalar color = cv::Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255)); if(fabs(cv::contourArea(contours[i])) < 100 || !(cv::isContourConvex(approx))) continue; if(approx.size() >=6 && approx.size() <=8) { cv::drawContours(drawing, contours, (int)i, color, 2, 8, hierarchy, 0, cv::Point()); bounding_rect = cv::boundingRect(contours[i]); cv::rectangle(drawing, bounding_rect, color, 1, 8, 0); cv::RotatedRect bounding_rect = cv::minAreaRect(cv::Mat(contours[i])); bounding_rect.points(rect_points); }
But how can I extract this 4 rect points (rect_points[4]) for further work? or how to use this points with message?
thanks.
Hello,
I am using opencv_apps, find contours_nodelet.cpp to detect circular contour. so far I can detect circular contour by modifying that source code llike this,
But how can I extract this 4 rect points (rect_points[4]) for further work? or how to use this points with message?
thanks.