用where函数得到部分像素点坐标后用minAreaRect函数得到最小外接矩阵
时间: 2024-02-22 08:57:28 浏览: 60
好的,您的问题是如何使用where函数得到部分像素点坐标后用minAreaRect函数得到最小外接矩阵。下面是一个示例代码,供您参考:
```python
import cv2
import numpy as np
# 读取图像并转换为灰度图像
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 阈值处理得到二值图像
thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)[1]
# 使用where函数得到部分像素点坐标
coords = np.column_stack(np.where(thresh == 255))
# 使用minAreaRect函数得到最小外接矩形
rect = cv2.minAreaRect(coords)
box = cv2.boxPoints(rect)
box = np.int0(box)
# 在图像上绘制最小外接矩形
cv2.drawContours(img, [box], 0, (0, 0, 255), 2)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例代码中,我们首先读取一张图像并将其转换为灰度图像,然后使用阈值处理得到二值图像。接着,我们使用where函数得到部分像素点坐标,然后使用minAreaRect函数得到最小外接矩形。最后,我们在图像上绘制最小外接矩形并显示图像。
阅读全文