opencv获取目标区域坐标
时间: 2023-08-12 16:11:28 浏览: 169
基于OpenCV获取目标区域
要获取目标区域的坐标,可以使用 OpenCV 中的轮廓检测函数 `findContours`。以下是一个示例代码,假设你已经读入了一张图像 `img`:
``` python
import cv2
# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化处理
thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)[1]
# 找到轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 遍历轮廓
for cnt in contours:
# 获取轮廓的外接矩形
x, y, w, h = cv2.boundingRect(cnt)
# 在图像上绘制外接矩形
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 输出外接矩形的坐标信息
print("x:{}, y:{}, w:{}, h:{}".format(x, y, w, h))
# 显示图像
cv2.imshow("img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这里使用了 `cv2.boundingRect` 函数来获取轮廓的外接矩形,它会返回矩形左上角点的坐标 `x` 和 `y`,以及矩形的宽度 `w` 和高度 `h`。如果你只需要目标区域的左上角点坐标和右下角点坐标,可以根据这些信息计算得到。
阅读全文