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模式下计算的轮廓个数(提取内轮廓和外轮廓)

相关推荐
m沐沐44 分钟前
【深度学习】dlib 人脸关键点检测
人工智能·深度学习·opencv·计算机视觉·pycharm·人脸识别·关键点检测
SimpleUmbrella10 小时前
【无标题】
c++·图像处理·opencv·计算机视觉
韭菜钟3 天前
利用OpenCV进行3d相机手眼标定(眼在手上/眼在手外)
opencv·3d
weigangwin4 天前
采用 mem0 之前,先决定 Agent 到底允许记住什么
人工智能·opencv·ai·llm·memory·ai agent·mem0
yqd6664 天前
OpenCV
人工智能·opencv·计算机视觉
在水一缸4 天前
OpenCV 5 深度解析:计算机视觉领域的“五年之变”与跨越式升级
人工智能·opencv·计算机视觉·开源项目·技术升级·opencv 5
Java小白笔记4 天前
Codex 桌面应用设置功能完全指南
人工智能·opencv·目标检测·机器学习·计算机视觉·数据挖掘·语音识别
sali-tec6 天前
C# 基于OpenCv的视觉工作流-章93-YOLO手部姿态
图像处理·人工智能·数码相机·opencv·yolo·计算机视觉
hhzz7 天前
基于监控视频的水位尺自动识别技术方案与实现
python·opencv·yolo·图像识别·cv
林中青木7 天前
OpenCV 5.0 使用方法及注意事项
人工智能·opencv·计算机视觉