cv2.arcLength()函数的用法,举个例子
时间: 2024-05-02 12:18:44 浏览: 7
cv2.arcLength()函数是OpenCV中的一个函数,用于计算曲线的周长或曲线的长度。其语法为:
cv2.arcLength(curve, closed)
其中,curve是输入的曲线,可以是一个点集或一个轮廓。closed是一个布尔值,指示曲线是否是封闭的。如果曲线是封闭的,则closed应该设置为True,否则应该设置为False。
下面是一个示例,演示如何使用cv2.arcLength()函数计算一个轮廓的周长:
```
import cv2
# 读取图像
img = cv2.imread('contour.png')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 查找轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 计算第一个轮廓的周长
perimeter = cv2.arcLength(contours[0], True)
# 输出结果
print('Perimeter of contour 1:', perimeter)
```
在这个示例中,我们首先读取了一个图像,并将其转换为灰度图像。然后,我们使用cv2.threshold()函数对图像进行二值化,并使用cv2.findContours()函数查找轮廓。
接下来,我们使用cv2.arcLength()函数计算第一个轮廓的周长,并将结果输出到控制台。
注意,在计算周长时,我们将closed参数设置为True,因为这个轮廓是封闭的。如果轮廓不是封闭的,则应该将closed参数设置为False。
在这个示例中,我们只计算了第一个轮廓的周长。如果图像中有多个轮廓,可以使用循环来计算每个轮廓的周长。