在opencv中,我需要把一张原始图片放到一张更大的空白图片上生成一张新图片,原始图片部分大小不变,应该如何写代码?
时间: 2024-03-05 07:54:45 浏览: 191
python opencv 批量改变图片的尺寸大小的方法
5星 · 资源好评率100%
你可以使用OpenCV中的ROI(感兴趣区域)技术来实现。具体步骤如下:
1. 定义原始图片的位置和大小。
2. 定义新图片的大小。
3. 创建新的空白图片。
4. 将原始图片复制到新的空白图片上的指定位置。
以下是示例代码:
``` python
import cv2
import numpy as np
# 加载原始图片
img = cv2.imread('path/to/image.jpg')
# 定义原始图片的位置和大小
x, y, w, h = 100, 100, img.shape[1], img.shape[0]
# 定义新图片的大小
new_width, new_height = 800, 600
# 创建新的空白图片
new_img = np.zeros((new_height, new_width, 3), np.uint8)
# 将原始图片复制到新的空白图片上的指定位置
new_img[y:y+h, x:x+w] = img
# 保存新图片
cv2.imwrite('path/to/new_image.jpg', new_img)
```
需要注意的是,这里的原始图片复制到新图片上的位置是`(x,y)`,并且大小是`(w,h)`。如果你需要调整原始图片在新图片中的位置和大小,可以修改这些值。
阅读全文