# 寻找轮廓并计算周长 contours, hierarchy = cv2.findContours(opening, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) for cnt in contours: perimeter = cv2.arcLength(cnt, True) if 500 < perimeter < 600: # 画出矩形框 x, y, w, h = cv2.boundingRect(cnt) cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)把这段改为计算面积来画框
时间: 2023-11-25 12:05:48 浏览: 131
寻找轮廓 find contours
可以将计算周长的部分改为计算轮廓面积,然后根据面积大小来画矩形框。修改后的代码如下:
```
contours, hierarchy = cv2.findContours(opening, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for cnt in contours:
area = cv2.contourArea(cnt)
if 500 < area < 600:
x, y, w, h = cv2.boundingRect(cnt)
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
```
这里使用了 `cv2.contourArea()` 函数来计算轮廓的面积,然后根据面积大小来判断是否画矩形框。
阅读全文