Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 计算机视觉中的轮廓是什么?_Opencv_Computer Vision - Fatal编程技术网

Opencv 计算机视觉中的轮廓是什么?

Opencv 计算机视觉中的轮廓是什么?,opencv,computer-vision,Opencv,Computer Vision,我目前正在大学学习计算机视觉模块。 我想从理论上了解计算机视觉中的轮廓以及它们的用途。轮廓只是图像中物体的边界。轮廓的各种表示(例如链码、傅立叶描述符、形状上下文)用于识别或分类对象 这假设您有一种分割对象并找到其边界的方法,这本身不是一个简单的问题。寻找边界的一类特殊算法称为活动轮廓或蛇。这就是你要问的吗?轮廓是一个边界,它围绕着一个有明确边界的物体,这意味着机器能够计算梯度的差异(像素值大小的显著差异),尝试看看相同的差异是否继续,形成一个可识别的形状,并在其周围绘制一个边界。Opencv可

我目前正在大学学习计算机视觉模块。
我想从理论上了解计算机视觉中的轮廓以及它们的用途。

轮廓只是图像中物体的边界。轮廓的各种表示(例如链码、傅立叶描述符、形状上下文)用于识别或分类对象


这假设您有一种分割对象并找到其边界的方法,这本身不是一个简单的问题。寻找边界的一类特殊算法称为活动轮廓或蛇。这就是你要问的吗?

轮廓是一个边界,它围绕着一个有明确边界的物体,这意味着机器能够计算梯度的差异(像素值大小的显著差异),尝试看看相同的差异是否继续,形成一个可识别的形状,并在其周围绘制一个边界。Opencv可以对许多形状执行此操作,它们显示在下面的链接中

想象一下你是怎么用眼睛做的。你在一个房间里,当你看到一个画面、一个监视器或一个球时,你在脑海中创造了一个边界。与轮廓在opencv中的工作方式完全相同。正如@Dima所说,为此目的使用了各种算法

如果您需要示例以及轮廓在opencv中的表示方式,这里有一个示例

希望这有帮助

你可以浏览opencv的官方文档,他们说轮廓是一条简单的曲线,它连接具有相同颜色或强度的连续点


我使用了轮廓的概念,其中我使用轮廓所包围的区域作为基础,以去除噪声并仅检测图像中的手部。

Open CV python为我们提供了轮廓和几个边缘检测功能,以识别对象的几个属性。轮廓可以简单地解释为连接所有连续点(沿边界)的曲线,具有相同的颜色或强度

在轮廓检测中使用二值图像: 轮廓线是形状分析、目标检测和识别的有用工具。我们采用二值图像(换句话说,像素只有2个可能值的图像)。因此,在找到轮廓之前,应用阈值或canny边缘检测

查找轮廓的步骤: 1) 转换为灰度

2) 转换为二值图像

3) 寻找轮廓

绘制等高线: 要绘制轮廓,请使用cv2.drawContours函数。它也可以用来绘制任何形状,只要你有它的边界点

等高线的特性: 1) 找到那个区域


2) 要找到周长

谢谢Dima的回答。它回答了我最初的问题。然后你应该接受答案@JackwelchMore关于OpenCV中轮廓的信息: