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

相关推荐
代码山河12 分钟前
图像基础:HSV颜色空间详解及颜色提取实战
opencv·目标检测·计算机视觉·教程
再__努力1点18 小时前
RK3576/RV1126B多路视频 AI 开源引擎 CosmoEdge:从模型到交付,轻松搞定!
人工智能·opencv·计算机视觉·架构·课程设计
代码山河2 天前
入门实战:用OpenCV实现图像的亮度与对比度调整
opencv·目标检测·计算机视觉·教程
HySpark2 天前
视觉多模态效果不佳怎么办?从画面质量到音视频融合的工程优化实践
opencv·计算机视觉·语音识别·多模态·音视频融合
企业数字化笔记2 天前
视频加放大特写后音画不同步怎么办?OpenCV转场与FFmpeg音轨续接实战
opencv·ffmpeg·音视频
TTTrees3 天前
(11)最重要的结构体Mat
opencv
可爱系程序猿3 天前
OpenCV 项目启动时报 opencv_world480.dll:先核对构建与架构
人工智能·opencv·程序人生·架构·电脑
FOAF-lambda3 天前
Python实战:基于OpenCV与单调栈,精准定位PDF中最大的空白区域
python·opencv·pdf
小豆庄4 天前
处理含车牌/人脸的隐私视频,如何做到数据不离机?
opencv·ai·云计算·视频
小徐不徐说4 天前
C++ 机器视觉入门:从零搭建 AOI 开发环境(OpenCV + CMake)
开发语言·c++·opencv