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

相关推荐
山居秋暝LS2 小时前
paddlelabe标注注意事项
人工智能·opencv·计算机视觉
zh路西法3 小时前
【OpenCV无人机光流速度估计】基于Farneback稠密光流方法的无人机速度估计
人工智能·python·opencv·计算机视觉·无人机
_李小白4 小时前
【android opencv学习笔记】Day 30: 滤波算法之拉普拉斯算子
android·opencv·学习
yubo050919 小时前
计算机视觉第三课:在图像上画框、画文字、画圆点
opencv·计算机视觉·目标跟踪
yubo05091 天前
计算机视觉第五课:给每个物体画 bounding box
人工智能·opencv·计算机视觉
AGV算法笔记1 天前
OpenCV 二维码三维定位 普通摄像头也能测空间坐标
人工智能·数码相机·opencv·工业视觉· 机器人视觉
yubo05091 天前
计算机视觉第四课:寻找轮廓(自动框出所有物体)
人工智能·opencv·计算机视觉
sali-tec1 天前
C# 基于OpenCv的视觉工作流-章79-单位转换
图像处理·人工智能·opencv·算法·计算机视觉
_李小白2 天前
【android opencv学习笔记】Day 26: 滤波算法之低通滤波与图像缩放插值
android·opencv·学习
Hello world.Joey2 天前
吴恩达深度学习基础
人工智能·深度学习·神经网络·opencv·算法·机器学习·计算机视觉