RETR_EXTERNAL
cv::Mat src = cv::imread("01.png", cv::IMREAD_COLOR);
cv::Mat b;
cv::extractChannel(src, b, 0);
std::vector<vector<cv::Point>> contours0;
cv::findContours(b > 50, contours0, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_NONE);
cv::drawContours(src, contours0, -1, cv::Scalar(255, 0, 0), 2);
cv::imshow("src", src);
cv::Mat src1 = cv::imread("02.png", cv::IMREAD_COLOR);
cv::Mat g;
cv::extractChannel(src1, g, 1);
std::vector<vector<cv::Point>> contours1;
cv::findContours(g > 50, contours1, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_NONE);
cv::drawContours(src1, contours1, -1, cv::Scalar(255, 0, 0), 2);
cv::imshow("src1", src1);
cv::waitKey();
查找轮廓以大于0为目标对象。
RETR_LIST
cv::Mat src = cv::imread("01.png