python怎么弄成黑色背景图片_python 实现将小图片放到另一个较大的白色或黑色背景图片中...

本文介绍如何使用Python将小尺寸图片置于白色或黑色背景图中。通过两种不同方法实现这一目标,一种是创建白色背景,另一种是创建黑色背景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python 实现将小图片放到另一个较大的白色或黑色背景图片中

发布时间:2020-08-23 19:43:22

来源:脚本之家

阅读:88

作者:南洲.

将图片放入到白色或黑色背景图中,前提是图片小于背景图片的尺寸,原图为如下,长为192,宽为64。

17450.jpg

1.将图片放入到白色背景图(224,224)中

import cv2

import numpy as np

def img_resize_to_target_white(image):

target = np.ones((224,224),dtype=np.uint8)*255

ret = cv2.cvtColor(target, cv2.COLOR_GRAY2BGR)

h = image.shape[0]

w = image.shape[1]

for i in range(224):

for j in range(224):

if(i < h) and (j < w):

ret[i, j, 0] = image[i, j, 0]

ret[i, j, 1] = image[i, j, 1]

ret[i, j, 2] = image[i, j, 2]

else:

ret[i, j, 0] = 255

ret[i, j, 1] = 255

ret[i, j, 2] = 255

return ret

if __name__ == '__main__':

image = cv2.imread('/home/yasin/桌面/test.png')

img_new_white = img_resize_to_target_white(image)

cv2.imshow("img_new_white", img_new_white)

cv2.waitKey()

运行结果为:

17451.jpg

2.将图片放入到黑色背景图(224,224)中

import cv2

def img_resize_to_target_black(image):

target = np.zeros((224,224),dtype=np.uint8)

bgr_img = cv2.cvtColor(target, cv2.COLOR_GRAY2BGR)

h = image.shape[0]

w = image.shape[1]

for i in range(h):

for j in range(w):

bgr_img[i, j, 0] = image[i, j, 0]

bgr_img[i, j, 1] = image[i, j, 1]

bgr_img[i, j, 2] = image[i, j, 2]

return bgr_img

if __name__ == '__main__':

image = cv2.imread('/home/yasin/桌面/test.png')

img_new_black = img_resize_to_target_black(image)

cv2.imshow("img_new_black", img_new_black)

cv2.waitKey()

运行结果为:

17452.jpg

以上这篇python 实现将小图片放到另一个较大的白色或黑色背景图片中就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。

参考资源链接:[Python OpenCV 图片叠加实现:将图片嵌入到一张图片上](https://wenku.csdn.net/doc/6401abdecce7214c316e9cbb?utm_source=wenku_answer2doc_content) 在图像处理中,将一张小图片嵌入到大图片中是一个常见的需求,利用Python的OpenCV库,可以简单快捷地完成这一任务。首先,需要理解几个基本概念:源图片是我们要添加图片背景图,嵌入图片是我们想要叠加到源图片上的小图像,而坐标定位则是确定嵌入图片在源图片上的位置。下面是一个具体的实现步骤和代码示例: 1. **读取源图片和嵌入图片**: 使用 `cv2.imread()` 函数分别读取源图片和嵌入图片。例如: ```python import cv2 src = cv2.imread('source.jpg') # 源图片路径 overlay = cv2.imread('overlay.png') # 嵌入图片路径 ``` 2. **调整嵌入图片大小**: 根据需要叠加的位置和效果,对嵌入图片进行适当的大小调整。这里使用 `cv2.resize()` 函数,并指定插值方法,例如 `cv2.INTER_AREA`。 ```python resized = cv2.resize(overlay, (width, height), interpolation=cv2.INTER_AREA) ``` 3. **计算叠加位置**: 确定嵌入图片在源图片上的位置,这需要根据实际情况手动设置合适的坐标。 ```python global_x0 = 100 # 嵌入图片左上角的x坐标 global_y0 = 150 # 嵌入图片左上角的y坐标 ``` 4. **执行图片叠加**: 通过切片操作将嵌入图片的像素值复制到源图片的指定位置。 ```python src[global_y0:global_y0+resized.shape[0], global_x0:global_x0+resized.shape[1]] = resized ``` 5. **保存结果图片**: 最后,使用 `cv2.imwrite()` 函数保存叠加后的图片。 ```python cv2.imwrite('result.jpg', src) ``` 通过以上步骤,你可以将一张小图片以编程方式嵌入到大图片中。在实际应用中,还可以对源图片和嵌入图片进行不同的调整,以满足特定的设计要求,例如调整透明度、应用不同的叠加模式等。这份资料《Python OpenCV 图片叠加实现:将图片嵌入到一张图片上》将为你提供更多的细节和技巧,帮助你在图像处理项目中实现更丰富的视觉效果。 参考资源链接:[Python OpenCV 图片叠加实现:将图片嵌入到一张图片上](https://wenku.csdn.net/doc/6401abdecce7214c316e9cbb?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值