python 实现将小图片放到另一个较大的白色或黑色背景图片中
作者:南洲. 发布时间:2022-03-26 00:21:36
标签: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()
运行结果为:
来源:https://blog.csdn.net/zhou4411781/article/details/95451476


猜你喜欢
- 方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 
- 1.定义ResNet残差模块一个block中,有两个卷积层,之后的输出还要和输入进行相加。因此一个block的前向流程如下:输入x→卷积层→
- 前言标准的 Bloom Filter 是一种比较简单的数据结构,只支持插入和查找两种操作。在所要表达的集合是静态集合的时候,标准 Bloom
- 实现对图像进行简单的高斯去噪和椒盐去噪。代码如下:import numpy as npfrom PIL import Imageimport
- 窗外下着小雨,作为单身程序员的我逛着逛着发现一篇好东西,来自知乎 你都用 Python 来做什么?的第一个高亮答案。到上面去看了看,地址都是
- 这篇文章主要介绍了如何基于Python获取图片的物理尺寸,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 前言之前有人提了一个需求,我一看此需求用正则表达式最合适不过。考虑到之前每次使用正则表达式,都是临时抱佛脚,于是这次我就一边完成任务一边系统
- 用pycharm和pyqt5,想写一个弹出窗口的程序,如下:class video_record(QWidget): &nbs
- 简述mat参照了函数设计,plot表示绘图的作用,lib则表示一个集合。今年在开源社区的推动下,Matplotlib在科学计算领域得到了广泛
- 二进制日志二进制日志中以“事件”的形式记录了数据库中数据的变化情况,对于MySQL数据库的灾难恢复起
- 使用索引时数据库性能优化的必备技能之一。在MySql数据库中,有四种索引:聚焦索引(主键索引)、普通索引、唯一索引以及我们这里将要介绍的全文
- 前言对于数据库中的树形结构数据,如部门表,有时候,我们需要知道某部门的所有下属部分或者某部分的所有上级部门,这时候就需要用到mysql的递归
- 如何把程序打包为whl首先需要一个库:setuptools如果是conda环境的话,这个包是自带的,不需要另外安装。首先把需要打包的py文件
- 本文中介绍了一个MySQL的存储过程,其中涉及Cursor的使用,示例如下:CREATE PROCEDURE `justifyGroupNu
- 大家在写按钮(input、button)的时候会发现在 IE 下:随着字数的增多,两边的间距也会越来越大。在 WIN 的XP 风格下,当字数
- 一张损坏的表的症状通常是查询意外中断并且你能看到例如这些错误:◆ “tbl_name.frm”被锁定不能改变。◆ 不能找到文件“tbl_na
- 今天遇到一个问题,就是用pycharm运行python程序,老是会出现Python.exe已停止的对话框。后来我到处在网上搜原因,网上给出的
- 上一篇文章为大家介绍了 GoFrame gcache使用实践 | 缓存控制 淘汰策略 ,得到了大家积极的反馈。后续几篇文章再接再厉,仍然为大
- 1.安装mysql5.6 docker run mysql:5.6等所有项目都是Download complet 安装完毕5.6: Pull
- 在日常的开发中经常进行跨数据库进行查询数据。同服务器下跨数据库进行查询在表前加上数据库名就可以查询到数据。在数据超出服务器承载的时候,往往需