python画出多个区域的最小外接矩形
时间: 2023-07-06 09:20:14 浏览: 134
可以使用OpenCV库来画出多个区域的最小外接矩形。以下是一个示例代码:
```python
import cv2
# 读入图像
img = cv2.imread('image.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化处理
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]
# 查找轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 循环遍历所有轮廓
for contour in contours:
# 获取最小外接矩形
rect = cv2.minAreaRect(contour)
box = cv2.boxPoints(rect)
box = box.astype('int')
# 画出最小外接矩形
cv2.drawContours(img, [box], 0, (0, 0, 255), 2)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例代码中,首先读入图像,然后将其转换为灰度图像,并进行二值化处理。然后使用`cv2.findContours()`函数查找所有的轮廓,并循环遍历所有轮廓。对于每个轮廓,使用`cv2.minAreaRect()`函数获取其最小外接矩形,并使用`cv2.drawContours()`函数将其画出。最后显示图像即可。