opencv中轮廓相关属性

一、介绍

findContours() :The function retrieves contours from the binary image。

二、代码

cpp 复制代码
void main()
{
    Mat src = imread("match00.bmp", IMREAD_GRAYSCALE);
	Mat mask;
	threshold(src, mask, 128, 255, cv::THRESH_BINARY_INV);
	Mat element = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(3, 3));
	cv::morphologyEx(mask, mask, cv::MORPH_CLOSE, element, cv::Point(-1, -1), 1);
	vector<vector<Point>> conts;
	cv::findContours(mask, conts, cv::RETR_LIST, cv::CHAIN_APPROX_NONE);
	cout << "RETR_LIST = " << conts.size() << endl;
	for (int i = 0; i < conts.size(); i++)
	{
		double len = cv::arcLength(conts[i], false);
		double area = cv::contourArea(conts[i]);
		cout << "len = " << len << ", area = " << area << endl;
	}
}

三、说明

1、原图

2、闭运算后的二值图像

3、RETR_EXTERNAL模式下计算的轮廓个数(只提取外轮廓)

4、RETR_LIST模式下计算的轮廓个数(提取内轮廓和外轮廓)

相关推荐
m0_748232391 小时前
基于OpenCV和Python的人脸识别系统_django
python·opencv·django
深图智能5 小时前
OpenCV 4.10.0 图像处理基础入门教程
图像处理·opencv·计算机视觉
old_power18 小时前
Linux(Ubuntu24.04)源码编译安装OpenCV4.6.0
linux·opencv
萧鼎20 小时前
利用 OpenCV 进行棋盘检测与透视变换
人工智能·opencv·计算机视觉
FL16238631291 天前
[C++]使用纯opencv部署yolov12目标检测onnx模型
c++·opencv·yolo
紫雾凌寒1 天前
计算机视觉基础|从 OpenCV 到频域分析
深度学习·opencv·计算机视觉·傅里叶变换·频域分析
小屁孩大帅-杨一凡1 天前
如何实现使用DeepSeek的CV模型对管道内模糊、低光照或水渍干扰的图像进行去噪、超分辨率重建。...
图像处理·人工智能·opencv·计算机视觉·超分辨率重建
高力士等十万人1 天前
OpenCV形态学操作
人工智能·python·opencv·计算机视觉
道剑剑非道1 天前
QT开发技术 【opencv图片裁剪,平均哈希相似度判断,以及获取游戏窗口图片】
qt·opencv·哈希算法
埃菲尔铁塔_CV算法1 天前
基于 C++ OpenCV 图像灰度化 DLL 在 C# WPF 中的拓展应用
c++·图像处理·人工智能·opencv·机器学习·计算机视觉·c#