python 将小图放入较大的白色或黑色背景图片

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

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() 

运行结果为:
在这里插入图片描述

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()

运行结果为:
在这里插入图片描述

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南洲.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值