📜  Python OpenCV – selectroi()函数(1)

📅  最后修改于: 2023-12-03 15:04:06.931000             🧑  作者: Mango

Python OpenCV – selectROI()函数介绍

OpenCV(Open Source Computer Vision)是由英特尔公司开发的一种开源计算机视觉库。在计算机视觉和机器学习领域中,OpenCV被广泛使用。在OpenCV中,selectROI()是一个用于选择感兴趣区域(ROI)的函数。

1. 语法
rect = cv2.selectROI(src, showCrosshair=True, fromCenter=False)

参数:

  • src:表示用于选择ROI的输入图像。
  • showCrosshair:一个布尔值,用于指定是否在窗口中显示交叉线,以帮助用户选择ROI。默认值为True。
  • fromCenter:一个布尔值,用于指定是否从中心开始选择ROI。默认值为False。

返回值:

  • rect:一个元组,包含了ROI的x、y、width、height。
2. 示例

在这个示例中,我们将使用selectROI()函数来选择一块ROI(感兴趣区域),然后在原始图像中显示它。

import cv2

# 读取图像
image = cv2.imread('image.jpg')

# 选择ROI
rect = cv2.selectROI(image)

# 打印ROI
print(rect)

# 在原始图像中显示ROI
cv2.rectangle(image, (rect[0], rect[1]), (rect[0]+rect[2], rect[1]+rect[3]), (0, 255, 0), 2)

# 显示图像
cv2.imshow('image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

代码说明:

  1. 读取图像。
  2. 使用selectROI()函数选择感兴趣区域,默认情况下会显示交叉线以帮助选择。选择完成后,按下Enter键以关闭选择窗口。
  3. 打印ROI元组。
  4. 使用cv2.rectangle()函数在原始图像中绘制选择的ROI,并在矩形周围显示一个绿色框。
  5. 使用cv2.imshow()函数显示图像,等待用户按下任意键后关闭所有窗口。
  6. 释放所有窗口相关的资源并退出。
3. 结论

Python OpenCV – selectROI()函数是一个强大的工具,可以让用户选择感兴趣的区域,并在OpenCV库中使用这些区域进行各种计算机视觉和机器学习任务。无论您是正在进行目标检测、图像分割、视频跟踪或任何其他计算机视觉任务,都可以使用该函数从输入图像中选择感兴趣区域。