在opencv中,我需要把一张原始图片放到一张更大的空白图片上生成一张新图片,原始图片部分大小不变,应该如何写代码?
时间: 2024-03-05 16:54:45 浏览: 22
你可以使用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)`。如果你需要调整原始图片在新图片中的位置和大小,可以修改这些值。
相关问题
在opencv中,我需要把一张图片放到一张更大的空白图片上生成一张新图片,应该如何写代码?
你可以使用OpenCV中的cv2.resize()函数将原始图片调整到新图片的大小,然后将调整后的图片复制到新的空白图片上。以下是示例代码:
```
import cv2
# 加载原始图片
img = cv2.imread('path/to/image.jpg')
# 定义新图片的大小
new_width, new_height = 800, 600
# 将原始图片调整到新图片的大小
resized_img = cv2.resize(img, (new_width, new_height))
# 创建新的空白图片
new_img = np.zeros((new_height, new_width, 3), np.uint8)
# 将调整后的图片复制到新的空白图片上
new_img[0:new_height, 0:new_width] = resized_img
# 保存新图片
cv2.imwrite('path/to/new_image.jpg', new_img)
```
需要注意的是,这里的new_img图像是黑色的,如果你需要其他颜色的背景,可以在创建new_img之后,将其所有像素值设置为相应的颜色。
python 使用opencv库 将一张图片放到另一张图片上
可以使用以下代码将一张图片放到另一张图片的指定位置上:
```
import cv2
# 读入两张图片
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
# 获取第一张图片的大小
h1, w1 = img1.shape[:2]
# 设置合成后的坐标位置
x, y = 100, 100
# 在第二张图片上指定坐标位置绘制第一张图片
img2[y:y+h1, x:x+w1] = img1
# 显示合成后的图片
cv2.imshow('result', img2)
cv2.waitKey()
cv2.destroyAllWindows()
```
其中,`cv2.imread`用于读入图片,`img1.shape[:2]`用于获取第一张图片的大小,`img2[y:y+h1, x:x+w1] = img1`用于在第二张图片上指定坐标位置绘制第一张图片。最后,我们显示合成后的图片。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)