opencv图片叠加指定位置
时间: 2024-01-10 09:22:06 浏览: 33
在OpenCV中,可以使用ROI(Region of Interest)来实现图片叠加指定位置的操作。下面是两种方法的示例:
1. 使用矩形类Rect来定义ROI的位置和大小:
```python
import cv2
# 读取原始图片
img = cv2.imread('image.jpg')
# 定义ROI的位置和大小
x, y, w, h = 100, 100, 200, 200
roi = img[y:y+h, x:x+w]
# 读取叠加图片
overlay = cv2.imread('overlay.png')
# 将叠加图片放置到ROI位置
img[y:y+h, x:x+w] = overlay
# 显示结果
cv2.imshow('Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
2. 使用范围类Range来定义ROI的位置和大小:
```python
import cv2
# 读取原始图片
img = cv2.imread('image.jpg')
# 定义ROI的位置和大小
x, y, w, h = 100, 100, 200, 200
roi = img[range(y, y+h), range(x, x+w)]
# 读取叠加图片
overlay = cv2.imread('overlay.png')
# 将叠加图片放置到ROI位置
img[range(y, y+h), range(x, x+w)] = overlay
# 显示结果
cv2.imshow('Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这两种方法都可以实现在指定位置叠加图片的效果。其中,第一种方法使用矩形类Rect来定义ROI的位置和大小,第二种方法使用范围类Range来定义ROI的位置和大小。