cv2.contourArea函数详解

article/2025/9/22 16:41:51

问题:cv2.findContours找到所有的轮廓之后,想取出包含面积最大的轮廓,用cv2.contourArea算一下,但是得到的结果跟实际差别相当大,最大轮廓面积的计算成很小的一个值,而其中一个不太起眼的区域被计算得倒最大的面积。

findContours() 提取轮廓, contourArea() 计算轮廓面积。

ContourArea计算轮廓的面积使用格林公式。格林公式是什么?这不重要。ContourArea()求得得面积居然比真实面积还要小。这又是怎么回事呢?

重点

原来ContourArea()是取连通域边界像素中心点,连接起来,成为一个轮廓,导致一周得边界像素点丢失,即求得得面积比真实得面积少了一圈。

比如下图,真实面积4*4=16,而ContourArea()则只是算红线内得面积,只有3*3=9。

 

因此,countArea() 函数也会 ”有中去无“,视而不见,算出来的轮廓面积会出现0。

有轮廓,但是面积为0。

比如有的轮廓厚度只有两像素,都是边缘线,那计算出来的面积就等于0。

参考:AI大道理

整理不易,欢迎一键三连!!!


http://chatgpt.dhexx.cn/article/fYjtiDe3.shtml

相关文章

计算机视觉 – Computer Vision | CV

计算机视觉(Computer Vision)是人工智能领域的一个重要分支。它的目的是:看懂图片里的内容。 本文将介绍计算机视觉的基本概念、实现原理、8 个任务和 4 个生活中常见的应用场景。 计算机视觉为什么重要? 人的大脑皮层&#xff0…

Py之cv2:cv2库(OpenCV,opencv-python)的简介、安装、使用方法(常见函数、方法等)最强详细攻略

关于OpenCV简介 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Python、Ruby、MATLAB等语言的接…

Python第三方cv2库介绍

Python第三方cv2库介绍 CV2指的是OpenCV2(Open Source Computer Vision Library),是一个开源的库平台计算机视觉库。有很强大的图片处理功能,可实现图像处理和计算机视觉方面的很多通用算法。 OpenCV官网文档 https://docs.open…

cv2安装与基本函数

简介 cv2是一个python的图像处理库,依赖c的opencv库处理图像。 安装 使用 pip install numpy pip install opencv-python 即可安装cv2及numpy 输入 >>> import cv2 >>> import numpy as np#cv2读取的图片都是numpy数组 >>> cv2.__…

Py之cv2:cv2(OpenCV,opencv-python)库的简介、安装、使用方法(常见函数、图像基本运算等)最强详细攻略

Py之cv2:cv2(OpenCV,opencv-python)库的简介、安装、使用方法(常见函数、图像基本运算等)最强详细攻略 目录 cv2(OpenCV,opencv-python)库的简介 1、OpenCV应用领域 1.1、计算机视觉领域方向 1.2、计算机操作底层技术 cv2(OpenCV&#x…

常用的SQL语句

删除数据库中表的某些相同的某些记录 OR 查找数据库的表中的相同记录 一、删除数据库中表的某些相同的某些记录 delete from tablename where only_Id not in(select min(only_id) from tablename group by sameName) 二、选出相同记录的SQL语句 AND 删除相同记录的SQL语句…

数据库基础(常用SQL语句)

一、数据库级及SQL语言简介 1、目前主流数据库 微软:sql server、access 瑞典:mysql ibm: db2 sybase:sybase ibm: informix oracle: oracle 2、SQL语言 DQL-------------数据查询语言 select … From … Where DML-------------数据操纵语言 insert、…

SQL基本语句(整理)

一、DDL(Data Definition Language) 数据定义语言,用来定义数据库对象(数据库,表,字段) ①查询 查询所有数据库 show databases; 查询当前数据库 select database(); ②创建 create database [if not exists] 数…

SQL常用语句(基础篇)

SQL常用语句(基础篇) 说明:创建数据库 CREATE DATABASE database-name 说明:删除数据库 drop database dbname 说明:备份sql server —创建备份数据的device USE master EXEC sp_addumpdevice ‘disk’,‘testBac…

SQL最常用的语句

语法: 一步步由浅到深,这里用的都是mysql做的。 基础: 连接数据库: mysql -h10.20.66.32 -uroot -p123456 1 -h后面是mysqlServer所在地址,-u后面是用户名,-p后面是密码。 查看数据库 show database…

数据库常用sql语句总结

查看时右侧可以打开CSDN自带的目录,方便查看 目录 一、基础 1.SELECT 语句 2.SELECT DISTINCT 语句 3.WHERE 子句 4.AND 和 OR 运算符 5.ORDER BY 语句 6.INSERT INTO 语句 7.Update 语句 8.DELETE 语句 二、高级 1.TOP 子句 2.LIKE 操作符 3.SQL 通配…

10个必须掌握的SQL常用语句

世界上70%的相关性数据可以被储存为表格数据,即类似Excel,Csv类型的数据,如何去查询和分析相关性的数据?对于少量数据,我们可以使用Excel,更多一点数据,我们可以使用Python, pandas 处理大数据 …

从零开始USRP+GNRRADIO系列(基础入门篇和C++自定义模块)

从零开始USRPGNRRADIO系列(基础入门篇) 文章目录 从零开始USRPGNRRADIO系列(基础入门篇)usrp简介创建第一个usrp图C自定义模块 usrp简介 通用软件无线电外设(USRP)是由Ettus Research及其母公司National I…

入门学习计算机第十八天——自定义数据类型(结构体)

入门学习计算机第十八天——自定义数据类型(结构体) 编译器:Microsoft Visual Studio 2019 自定义类型: 结构体枚举联合体 结构体 结构体类型的声明 结构的基础知识 结构是一些值的集合,这些值称为成员变量 结构的…

【计算机基础】

文章目录 线程、协程的状态 计算机网络DNS解析 计算机基础进程间通讯的7种方式讲一下程序的虚拟内存、常驻内存和逻辑内存。堆和栈是存啥的?什么是大小端? 什么是死锁?什么情况下会发生(避免)死锁?死锁产生的4个必要条…

计算机基础(1)

目录 一、计算机发展 1.1计算机发展史 1.2计算机分类 1.2.1按规模划分 1.2.2服务器与客户机 1.2.2.1 服务器按外形分类 1.3服务器硬件 一、计算机发展 1.1计算机发展史 1、第一代计算机(1946-1957) 电子管时代 冯诺依曼体系结构:数字计算机的数制采用二进…

计算机基础介绍

1、组成部分 中央处理器、内存、存储设备、输入/输出设备、通信设备(各部分通过总线来连接) 2、冯诺依曼体系结构:现代计算机的基础 3、中央处理器(CPU)——计算机的大脑 (1)作用&#xff1a…

C语言基础入门——自定义类型

学习目标: 学习并了解C语言自定义类型 目录 学习目标: 一、结构体 ●结构体的声明 ●结构体的引用 ●结构体的定义和初始化 ●结构体的内存对齐 ●结构体的传参 ●结构体的位段(位段的可填充和可移植性) 二、枚举 ●枚举的定…

1.计算机基础

目录 1.1计算机系统 1.3 计算机硬件 1.4 计算机常用计数制 1.5 数据表示 1.1计算机系统 计算机多种形式:电脑,笔记本,智能手机,服务器等; 两部分组成:硬件系统和软件系统。 1.1.1 世界上第一台计算机 世…

一、计算机基础

计算机基础 一、第 1 章 计算机基础知识1-1 计算机概述1-1-1 计算机的产生与发展(一)计算工具的发展(二)现代计算机的发展(三)计算机的分代(四)计算机新技术的发展 1-1-2 计算机的特…