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;
}
相关推荐
jerryinwuhan几秒前
面向产业带与中小企业数字化转型的电商运营人才培养模式
大数据·人工智能
Drgfd9 分钟前
智造赋能品控:汪进进以精益生产,夯实质量制造底座
人工智能·制造
米小虾19 分钟前
"Chat is dead":OpenAI 正在杀死的不是聊天,是整个 AI 交互范式
人工智能·openai
冬奇Lab23 分钟前
Agent 系列(18):成本与性能优化——省钱且更快
人工智能·llm·agent
Hefei GlobefishAI36 分钟前
合肥合豚AI硬件方案:专为智能售货柜厂商定制的无人零售接口套件
人工智能·零售·自动售货机·无人零售硬件·ai硬件方案·智能售货柜·接口套件
冬奇Lab42 分钟前
每日一个开源项目(第127篇):PM Skills Marketplace - 把顶级产品方法论塞进 AI Agent
人工智能·开源·资讯
吴佳浩1 小时前
Hermes vs OpenClaw:基于源码的 Agent Loop 全面分析
人工智能·llm·agent
AI袋鼠帝1 小时前
腾讯出手了!彻底入局企业级Agent。
人工智能
和平宇宙1 小时前
AI笔记005. hermes-DeepSeek V4 Pro, 128K上下文引发的探索
前端·人工智能·笔记
56AI1 小时前
360 智语 AI 企业智能体平台深度评测:从 L4 蜂群架构到政企落地实战
人工智能·架构