cv2.contourArea
时间: 2024-05-07 11:18:24 浏览: 94
轮廓特征_目标-使用python xlwing操作excel
cv2.contourArea是OpenCV中用于计算轮廓面积的函数。它接受一个轮廓(边界)并返回它的面积。该函数的语法如下:
cv2.contourArea(contour, oriented=false)
其中“contour”是输入的轮廓,它必须是一个二维的点向量,如cv2.findContours()函数的输出;“oriented”是一个布尔值,表示计算面积时是否考虑轮廓的方向(默认为false,表示不考虑方向)。
例如,下面的代码演示了如何使用cv2.contourArea计算一个二值图像中的轮廓面积:
``` python
import cv2
# 读入图像并进行二值化处理
img = cv2.imread('image.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)
# 计算轮廓面积并打印结果
for cnt in contours:
area = cv2.contourArea(cnt)
print("Contour area:", area)
# 在图像中绘制轮廓
cv2.drawContours(img, contours, -1, (0, 0, 255), 2)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,我们首先读入一张图像并将其转换为灰度图像。然后我们使用cv2.threshold()函数将其转换为二值图像。接下来,我们使用cv2.findContours()函数查找图像中的轮廓。最后,我们使用cv2.contourArea()函数计算每个轮廓的面积,并在图像中绘制出这些轮廓。
阅读全文