Opencv的findcontours函数的大坑

比较了两个图一个会产生2个轮廓,一个只产生一个轮廓

cpp 复制代码
/**
 * @function findContours_Demo.cpp
 * @brief Demo code to find contours in an image
 * @author OpenCV team
 */

#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
#include <iostream>
using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
    CommandLineParser parser(argc, argv, "{@input | HappyFish.jpg | input image}");
    Mat src = imread(samples::findFile(parser.get<String>("@input")));
    Mat src_gray , binarized ;
    cvtColor(src, src_gray, COLOR_BGR2GRAY);
    threshold(src_gray, binarized, 90, 255, THRESH_BINARY); //THRESH_BINARY_INV);
    //savedata(binarized);
    vector<vector<Point>> contours;
    findContours(binarized, contours, RETR_LIST, CHAIN_APPROX_NONE); // 查找轮廓
    for (size_t i = 0; i < contours.size(); i++)
    {
        //contourArea(contours[i]);
        double area = moments(contours[i]).m00;
        cout << "轮廓" << i << " 面积:" << area << endl;
        drawContours(src, contours, i, Scalar(0, 255, 0), 2);
    }
    string windowName = "Contours " + to_string(contours.size());
    imshow(windowName, src);
    waitKey();
    return 0;
}
相关推荐
计算机编程-吉哥3 分钟前
YOLO26 vs YOLO11 vs YOLOv8:深度学习咖啡果实成熟度分割系统【计算机毕业设计选题推荐】
人工智能·python·深度学习·yolo·django·毕业设计
冬奇Lab14 分钟前
一年前没启动 AI 提效的团队,今年在付什么钱?
人工智能
NeoGressAI外贸数字化1 小时前
IOR新规9月18日生效:Form 5106六项资料自查清单
人工智能
根目录下的猫1 小时前
RK3588适配的轻量级AI模型推荐
人工智能·后端·python·目标检测
weixin_6682 小时前
Cursor 插件使用说明:Linear 与 Figma
人工智能·cursor
wshzd2 小时前
LLM之Agent(六十八)|PI(七)构建测试与开发流程
人工智能
H0311169852 小时前
App竞品数据平台功能梳理:月狐数据、七麦数据、点点数据
人工智能
YOLO数据集集合2 小时前
高铁轨道紧固件损坏检测数据集 | 高铁巡检 紧固件缺陷 轨道安全9093期
人工智能·目标检测·计算机视觉·目标跟踪·轨道·铁轨紧固件·铁轨
冬奇Lab2 小时前
一天一个开源项目(第223篇):TeamAI-CLI —— 腾讯开源的团队级 AI Agent 中间层,让每个人的 AI 能力变成团队共享能力
人工智能·开源·资讯
ShineWinsu2 小时前
对于Coze—AI:SDK的解析
人工智能·python·ai·sdk·项目·coze·字节跳动