OPENCV PYTHON 鼠标 选择 ROI
时间: 2024-09-19 14:15:05 浏览: 54
Python+OpenCV感兴趣区域ROI提取方法
在OpenCV库中,Python提供了一个方便的功能,允许用户通过鼠标交互来选择图像区域(Region of Interest, ROI)。当你想要从图片中提取特定部分或者进行局部处理时,ROI选择非常有用。以下是基本步骤:
1. 导入必要的库:
```python
import cv2
import numpy as np
```
2. 加载图像并显示原始图像:
```python
img = cv2.imread('image.jpg')
cv2.imshow('Original Image', img)
```
3. 定义一个函数来获取鼠标的点击事件,比如`onmouse(event, x, y, flags, param)`:
```python
def draw_rectangle(event, x, y, flags, params):
if event == cv2.EVENT_LBUTTONDOWN:
# 左键按下开始绘制矩形
cv2.rectangle(img, (x, y), (x + 50, y + 50), (0, 255, 0), -1) # (start_x, start_y, end_x, end_y, color, thickness)
```
4. 设置窗口并设置鼠标回调函数:
```python
cv2.namedWindow('Select ROI', cv2.WINDOW_NORMAL)
cv2.setMouseCallback('Select ROI', draw_rectangle)
```
5. 进入主循环等待鼠标操作,直到用户关闭窗口:
```python
while True:
cv2.imshow('Select ROI', img)
key = cv2.waitKey(1) & 0xFF
if key == ord('q') or key == 27: # 'q'键退出或Esc键
break
```
6. 最后别忘了释放资源:
```python
cv2.destroyAllWindows()
```
阅读全文