opencv如何准确绘制轮廓矩形
时间: 2023-09-10 17:07:05 浏览: 117
要在 OpenCV 中准确绘制轮廓矩形,你可以使用以下步骤:
1. 使用 `cv2.findContours()` 函数找到图像中的轮廓。
```python
contours, _ = cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
```
2. 循环遍历每个轮廓,并使用 `cv2.boundingRect()` 函数获取轮廓的边界矩形。
```python
for contour in contours:
x, y, w, h = cv2.boundingRect(contour)
```
3. 使用 `cv2.rectangle()` 函数绘制边界矩形。
```python
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
```
在这个例子中,`(0, 255, 0)` 是矩形的颜色(这里是绿色),`2` 是矩形的线宽。
下面是完整的示例代码:
```python
import cv2
image = cv2.imread('your_image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
_, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for contour in contours:
x, y, w, h = cv2.boundingRect(contour)
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.imshow('Contours', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码将在原始图像上绘制轮廓的边界矩形,并显示结果图像。你可以根据需要调整阈值、颜色、线宽等参数。
阅读全文