PIL图像处理模块paste方法简单使用详解

yipeiwu_com5年前Python基础

python2中提供了PIL基础的图像数据出来模块,在python3中更名为了pillow模块,名字虽然发生了改变,但是提供的方法和功能都是一样的,对于日常基础的图像数据处理分析来说是足够用了的,现在正好有一个需求点就是要对给定的图像数据指定的部分进行剪切、替换处理,剪切跟替换操作的本质其实都是一样的,先要得到该区域的左下顶点和右上顶点的坐标然后才能进行相应的操作。

这篇文章中简单对剪切操作和粘贴也就是替换操作进行实践说明,具体的代码实践如下:

def specificLocationReplace(img1='a.png',img2='b.png',save_path='replace.png'):
  '''
  图片指定位置替换
  '''
  im1=Image.open(img1)
  im2=Image.open(img2)
  tmp=im1.crop((0,0,500,500))
  im2.paste(tmp,(300,300,800,800))
  im2.save(save_path)

传入两张图片的路径以及新图片的保存路径,从img1中剪切出来一块方形区域,之后粘贴在img2中指定的方形区域中,然后保存生成新的图片,使用的方法非常的简洁和简单,这就相关的参数都说明了,就不再累赘了。

下面简单的使用:

specificLocationReplace(img1='data/0.png',img2='data/1.png',
              save_path='replace.png')

其中,0.png如下:

1.png如下:

剪切和粘贴处理后的结果数据如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python通过属性手段实现只允许调用一次的示例讲解

如果希望一个对象的某个方法只能够调用一次,按照我之前的惯性思维,我肯定是定义一个状态量然后每次调用的时候修改它的值。通过查看状态量的数值,我可以决定采取执行不同的处理。 其实,除此之外还...

Dlib+OpenCV深度学习人脸识别的方法示例

Dlib+OpenCV深度学习人脸识别的方法示例

前言 人脸识别在LWF(Labeled Faces in the Wild)数据集上人脸识别率现在已经99.7%以上,这个识别率确实非常高了,但是真实的环境中的准确率有多少呢?我没有这方...

怎样使用Python脚本日志功能

怎样使用Python脚本日志功能

  假设要开发一个自动化脚本工具,工程结构如下,Common这个package是框架功能的实现,Scripts目录是我们编写的测试用例脚本(请忽略其他不相关的目录)。   我们对日志功能...

Python制作钉钉加密/解密工具

又是很久没有写技术博客了,盖因最近都在学习知识,也没有总结出什么值得分享的内容,所以一直停笔至今。最近的工作和钉钉的开发打上了交到,官方并没有提供任何Python的SDK,于是只能全部自...

Python 修改列表中的元素方法

Python 修改列表中的元素方法

如下所示: #打印列表文件 def show_magicians(magics) : for magic in magics : print(magic) #修改列表文件...