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

yipeiwu_com5年前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()

运行结果为:

以上这篇python 实现将小图片放到另一个较大的白色或黑色背景图片中就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

django之使用celery-把耗时程序放到celery里面执行的方法

1 在虚拟环境创建项目test和应用booktest(过程省略),然后安装所需的包 pip install celery==3.1.25 pip install celery-wit...

使用Python读取安卓手机的屏幕分辨率方法

直接代码吧: import os import sys import json import re def _get_screen_size(): '获取手机屏幕大小' size...

Python编程之列表操作实例详解【创建、使用、更新、删除】

Python编程之列表操作实例详解【创建、使用、更新、删除】

本文实例讲述了Python列表操作。分享给大家供大家参考,具体如下: #coding=utf8 ''''' 列表类型也是序列式的数据类型, 可以通过下标或者切片操作来访问某一个或者某...

pyQt4实现俄罗斯方块游戏

本文实例为大家分享了pyQt4实现俄罗斯方块游戏的具体代码,供大家参考,具体内容如下 #!/usr/bin/python # -*- coding: utf-8 -*-...

Python while、for、生成器、列表推导等语句的执行效率测试

一个功能的实现,可以用多种语句来实现,比如说:while语句、for语句、生成器、列表推导、内置函数等实现,然而他们的效率并不一样。写了一个小程序来测试它们执行的效率。 测试内容: 将...