#图片处理-填充图片-numpy.pad
参考博客1
参考博客2
np.pad() 常用于深度学习中的数据预处理(例如用于图片处理中填充图片),可以将numpy数组按指定的方法填充成指定的形状。

##对一维数组的填充

import numpy as nparr1D = np.array([1, 1, 2, 2, 3, 4])
'''不同的填充方法'''
print ('constant:     ' + str(np.pad(arr1D, (2, 3), 'constant')))
print ('edge:         ' + str(np.pad(arr1D, (2, 3), 'edge')))
print ('linear_ramp:  ' + str(np.pad(arr1D, (2, 3), 'linear_ramp')))
print ('maximum:      ' + str(np.pad(arr1D, (2, 3), 'maximum')))
print ('mean:         ' + str(np.pad(arr1D, (2, 3), 'mean')))
print ('median:       ' + str(np.pad(arr1D, (2, 3), 'median')))
print ('minimum:      ' + str(np.pad(arr1D, (2, 3), 'minimum')))
print ('reflect:      ' + str(np.pad(arr1D, (2, 3), 'reflect')))
print ('symmetric:    ' + str(np.pad(arr1D, (2, 3), 'symmetric')))
print ('wrap:         ' + str(np.pad(arr1D, (2, 3), 'wrap')))constant:     [0 0 1 1 2 2 3 4 0 0 0]
edge:         [1 1 1 1 2 2 3 4 4 4 4]
linear_ramp:  [0 0 1 1 2 2 3 4 3 1 0]
maximum:      [4 4 1 1 2 2 3 4 4 4 4]
mean:         [2 2 1 1 2 2 3 4 2 2 2]
median:       [2 2 1 1 2 2 3 4 2 2 2]
minimum:      [1 1 1 1 2 2 3 4 1 1 1]
reflect:      [2 1 1 1 2 2 3 4 3 2 2]
symmetric:    [1 1 1 1 2 2 3 4 4 3 2]
wrap:         [3 4 1 1 2 2 3 4 1 1 2]

###参数解释:
第一个参数是待填充数组
第二个参数是填充的形状,(2,3)表示前面两个,后面三个
第三个参数是填充的方法
###填充方法:
constant连续一样的值填充,有关于其填充值的参数。constant_values=(x, y)时前面用x填充,后面用y填充。缺参数是为0。
edge用边缘值填充
linear_ramp边缘递减的填充方式
maximum, mean, median, minimum分别用最大值、均值、中位数和最小值填充
reflect, symmetric都是对称填充。前一个是关于边缘对称,后一个是关于边缘外的空气对称╮(╯▽╰)╭
wrap用原数组后面的值填充前面,前面的值填充后面
也可以有其他自定义的填充方法

##对二维数组的填充

import numpy as npMatrix = np.arange(1,7).reshape(2,3)
M = np.pad(Matrix,((1,1),(1,2)),'constant',constant_values = (0,0))
print(M)[[0 0 0 0 0 0][0 1 2 3 0 0][0 4 5 6 0 0][0 0 0 0 0 0]]
[Finished in 0.2s]


np.pad(Matrix,((1,1),(1,2)),‘constant’,constant_values = (0,0))
表示在二维数组Matrix的边缘填充constant_values指定的数值

(1,1)表示在Matrix的第[0]轴填充(二维数组中,0轴表示行),即在0轴前面填充1个宽度的0,比如数组Matrix中的1,2,3两个元素前面各填充了一行0,在4,5,6下面填充了一行0。

(1,2)表示在Matrix的第[1]轴填充(二维数组中,1轴表示列),即在1轴前面填充1个宽度的0,后面填充2个宽度的0

constant_values表示填充值,且(axis0,axis1)的填充值等于(0,0)
##对多维数组的填充

import numpy as nparr3D = np.array([[[1, 1, 2, 2, 3, 4], [1, 1, 2, 2, 3, 4], [1, 1, 2, 2, 3, 4]], [[0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]], [[1, 1, 2, 2, 3, 4], [1, 1, 2, 2, 3, 4], [1, 1, 2, 2, 3, 4]]])print ('constant:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'constant')))
print ('edge:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'edge')))
print ('linear_ramp:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'linear_ramp')))
print ('maximum:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'maximum')))
print ('mean:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'mean')))
print ('median:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'median')))
print ('minimum:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'minimum')))
print ('reflect:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'reflect')))
print ('symmetric:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'symmetric')))
print ('wrap:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'wrap')))constant:
[[[0 0 0 0 0 0 0 0 0 0][0 0 1 1 2 2 3 4 0 0][0 0 1 1 2 2 3 4 0 0][0 0 1 1 2 2 3 4 0 0][0 0 0 0 0 0 0 0 0 0]][[0 0 0 0 0 0 0 0 0 0][0 0 0 1 2 3 4 5 0 0][0 0 0 1 2 3 4 5 0 0][0 0 0 1 2 3 4 5 0 0][0 0 0 0 0 0 0 0 0 0]][[0 0 0 0 0 0 0 0 0 0][0 0 1 1 2 2 3 4 0 0][0 0 1 1 2 2 3 4 0 0][0 0 1 1 2 2 3 4 0 0][0 0 0 0 0 0 0 0 0 0]]]
edge:
[[[1 1 1 1 2 2 3 4 4 4][1 1 1 1 2 2 3 4 4 4][1 1 1 1 2 2 3 4 4 4][1 1 1 1 2 2 3 4 4 4][1 1 1 1 2 2 3 4 4 4]][[0 0 0 1 2 3 4 5 5 5][0 0 0 1 2 3 4 5 5 5][0 0 0 1 2 3 4 5 5 5][0 0 0 1 2 3 4 5 5 5][0 0 0 1 2 3 4 5 5 5]][[1 1 1 1 2 2 3 4 4 4][1 1 1 1 2 2 3 4 4 4][1 1 1 1 2 2 3 4 4 4][1 1 1 1 2 2 3 4 4 4][1 1 1 1 2 2 3 4 4 4]]]
linear_ramp:
[[[0 0 0 0 0 0 0 0 0 0][0 0 1 1 2 2 3 4 2 0][0 0 1 1 2 2 3 4 2 0][0 0 1 1 2 2 3 4 2 0][0 0 0 0 0 0 0 0 0 0]][[0 0 0 0 0 0 0 0 0 0][0 0 0 1 2 3 4 5 2 0][0 0 0 1 2 3 4 5 2 0][0 0 0 1 2 3 4 5 2 0][0 0 0 0 0 0 0 0 0 0]][[0 0 0 0 0 0 0 0 0 0][0 0 1 1 2 2 3 4 2 0][0 0 1 1 2 2 3 4 2 0][0 0 1 1 2 2 3 4 2 0][0 0 0 0 0 0 0 0 0 0]]]
maximum:
[[[4 4 1 1 2 2 3 4 4 4][4 4 1 1 2 2 3 4 4 4][4 4 1 1 2 2 3 4 4 4][4 4 1 1 2 2 3 4 4 4][4 4 1 1 2 2 3 4 4 4]][[5 5 0 1 2 3 4 5 5 5][5 5 0 1 2 3 4 5 5 5][5 5 0 1 2 3 4 5 5 5][5 5 0 1 2 3 4 5 5 5][5 5 0 1 2 3 4 5 5 5]][[4 4 1 1 2 2 3 4 4 4][4 4 1 1 2 2 3 4 4 4][4 4 1 1 2 2 3 4 4 4][4 4 1 1 2 2 3 4 4 4][4 4 1 1 2 2 3 4 4 4]]]
mean:
[[[2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2]][[2 2 0 1 2 3 4 5 2 2][2 2 0 1 2 3 4 5 2 2][2 2 0 1 2 3 4 5 2 2][2 2 0 1 2 3 4 5 2 2][2 2 0 1 2 3 4 5 2 2]][[2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2]]]
median:
[[[2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2]][[2 2 0 1 2 3 4 5 2 2][2 2 0 1 2 3 4 5 2 2][2 2 0 1 2 3 4 5 2 2][2 2 0 1 2 3 4 5 2 2][2 2 0 1 2 3 4 5 2 2]][[2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2][2 2 1 1 2 2 3 4 2 2]]]
minimum:
[[[1 1 1 1 2 2 3 4 1 1][1 1 1 1 2 2 3 4 1 1][1 1 1 1 2 2 3 4 1 1][1 1 1 1 2 2 3 4 1 1][1 1 1 1 2 2 3 4 1 1]][[0 0 0 1 2 3 4 5 0 0][0 0 0 1 2 3 4 5 0 0][0 0 0 1 2 3 4 5 0 0][0 0 0 1 2 3 4 5 0 0][0 0 0 1 2 3 4 5 0 0]][[1 1 1 1 2 2 3 4 1 1][1 1 1 1 2 2 3 4 1 1][1 1 1 1 2 2 3 4 1 1][1 1 1 1 2 2 3 4 1 1][1 1 1 1 2 2 3 4 1 1]]]
reflect:
[[[2 1 1 1 2 2 3 4 3 2][2 1 1 1 2 2 3 4 3 2][2 1 1 1 2 2 3 4 3 2][2 1 1 1 2 2 3 4 3 2][2 1 1 1 2 2 3 4 3 2]][[2 1 0 1 2 3 4 5 4 3][2 1 0 1 2 3 4 5 4 3][2 1 0 1 2 3 4 5 4 3][2 1 0 1 2 3 4 5 4 3][2 1 0 1 2 3 4 5 4 3]][[2 1 1 1 2 2 3 4 3 2][2 1 1 1 2 2 3 4 3 2][2 1 1 1 2 2 3 4 3 2][2 1 1 1 2 2 3 4 3 2][2 1 1 1 2 2 3 4 3 2]]]
symmetric:
[[[1 1 1 1 2 2 3 4 4 3][1 1 1 1 2 2 3 4 4 3][1 1 1 1 2 2 3 4 4 3][1 1 1 1 2 2 3 4 4 3][1 1 1 1 2 2 3 4 4 3]][[1 0 0 1 2 3 4 5 5 4][1 0 0 1 2 3 4 5 5 4][1 0 0 1 2 3 4 5 5 4][1 0 0 1 2 3 4 5 5 4][1 0 0 1 2 3 4 5 5 4]][[1 1 1 1 2 2 3 4 4 3][1 1 1 1 2 2 3 4 4 3][1 1 1 1 2 2 3 4 4 3][1 1 1 1 2 2 3 4 4 3][1 1 1 1 2 2 3 4 4 3]]]
wrap:
[[[3 4 1 1 2 2 3 4 1 1][3 4 1 1 2 2 3 4 1 1][3 4 1 1 2 2 3 4 1 1][3 4 1 1 2 2 3 4 1 1][3 4 1 1 2 2 3 4 1 1]][[4 5 0 1 2 3 4 5 0 1][4 5 0 1 2 3 4 5 0 1][4 5 0 1 2 3 4 5 0 1][4 5 0 1 2 3 4 5 0 1][4 5 0 1 2 3 4 5 0 1]][[3 4 1 1 2 2 3 4 1 1][3 4 1 1 2 2 3 4 1 1][3 4 1 1 2 2 3 4 1 1][3 4 1 1 2 2 3 4 1 1][3 4 1 1 2 2 3 4 1 1]]]
[Finished in 0.2s]

图片处理-填充图片-numpy.pad相关推荐

  1. 等比例缩放图片并填充图片为正方形(python附代码)

    等比例缩放图片并填充图片为正方形 看实现的效果 代码 看实现的效果 之前的 836x662 之后的 300x300 且图片中的塔克斯居中 代码 import os import cv2 import ...

  2. android drawpath填充,Android如何用图片来填充Path封闭路径

    刚刚接触安卓,最近在做一个小项目,用path根据四个点坐标绘制了一个矩形,需要用图片来填充矩形.因为根据路径绘制的矩形是倾斜的,所以填充图片不太容易,经过查资料,通过试验得到了一种方法,分享一下: / ...

  3. css 如何让背景图片拉伸填充避免重复显示

    如何让背景图片拉伸填充,这个问题听起来似乎很简单.但是很遗憾的告诉大家.不是我们想的那么简单.  比如一个容器(body,div,span)中设定一个背景.这个背景的长宽值在css2.1之前是不能被修 ...

  4. 示例填充图片_用示例解释洪水填充算法

    示例填充图片 什么是洪水填充? (What is Flood Fill?) Flood fill is an algorithm mainly used to determine a bounded ...

  5. 示例填充图片_填充内容:工具,技巧和动态示例

    示例填充图片 随着浏览器中的设计变得越来越流行(和方便),对有用的设计工具的需求也在增加. 一组非常有用的工具围绕着填料含量. 当前,存在各种资源来帮助需要填充内容的设计人员,无论是文本还是图像. 由 ...

  6. css里面设置一个背景边框图片或者填充一张图片,使图片填充整个div容器;

    一.就一个div,设置其背景图片 1.背景图片 2.代码 #left-bottom {/*height: 31%;*/height: 38%;margin-top: 25px;position: re ...

  7. Android利用zxing生成二维码,识别二维码,中间填充图片超详细、超简易教程

    gayhub上的zxing可用于生成二维码,识别二维码 gayhub地址:https://github.com/zxing/zxing 此文只是简易教程,文末附有完整代码和demo下载地址,进入正题: ...

  8. html背景图片内填充,CSS基础——使用图片填充元素背景

    在网页设计中,使用图片来填充元素背景,可以让元素背景呈现丰富多彩的外观.使用图片填充元素背景的常用样式标签有background-image.background-repeat.background- ...

  9. PHP如何给整个内容填充背景,如何给文字添加背景图?给文字填充图片背景色的操作方法...

    专注实拍 监控 风景 各类视频 申请入群加微信: neimu500 因为专注 所以专业! 我们只发优质实拍视频,群管理专业.规范,确保群的视频质量以及秩序!无水印可下载可分享. 下了两天的雨,今天终于 ...

  10. 详细的easyExcel填充数据填充图片及导出示例

    添加依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</art ...

最新文章

  1. [HNOI 2010]Bounce 弹飞绵羊
  2. hadoop W3SCHOOL
  3. UA MATH565C 随机微分方程V Markov Family的特征函数
  4. 「造个轮子」——cicada(轻量级 WEB 框架)
  5. 2020 中国开源年会(COSCon'20)再启程:开源向善(Open Source for Good)
  6. Overview of GTK+ and its Libraries
  7. 何为量子计算机? | CSDN 博文精选
  8. 搭建MySQL高可用架构MHA
  9. [Bzoj1003][ZJOI2006]物流运输(spfa+dp)
  10. 《沟通的技术——让交流、会议与演讲更有效》一第一部分 建导准备
  11. 02. 实现Singleton模式(C++版本)
  12. MAC编译库的路径问题rpath/install_name
  13. 【转自人人】本科生如何发表论文
  14. 国内最著名的公用CDN BootCDN停止服务
  15. DOS攻击与网络溯源技术
  16. put短语(put短语归纳)
  17. 网络文件共享服务之NFS
  18. 走进GBase 8s之高可用功能(二)HAC灾备高可用
  19. 如何用键盘控制windows窗口移动
  20. 水浒.招安还是好过不招安

热门文章

  1. python无法打开_终端里为什么无法运行python?
  2. spring5.1.3使用篇-数据访问
  3. 天气系统(环境系统)_SLG项目开发经验三
  4. ArcMap通过空间连接和数据汇总实现批量统计
  5. c++(标准模板库STL)
  6. 微软云中国的服务器在哪,微软云计算平台Windows Azure将落户中国
  7. PyQt5自定义无边框窗口
  8. 点云 数据增强(Data Augmentation):方法与python代码
  9. 系统架构师进阶(Believe Youself)
  10. cuda中pinned memory(page-locked memory)