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

yipeiwu_com6年前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设计】。

相关文章

解决使用pycharm提交代码时冲突之后文件丢失找回的方法

解决使用pycharm提交代码时冲突之后文件丢失找回的方法

1: 更新代码时, 监测到本地代码改变,需要和合并,重启之后才可以, 选择No同时,代码会被冲掉,新增加的文件也会被冲掉, 但是pycharm有一个文件历史记忆,找到之后可以找到丢失的文...

对Python中Iterator和Iterable的区别详解

Python中 list,truple,str,dict这些都可以被迭代,但他们并不是迭代器。为什么? 因为和迭代器相比有一个很大的不同,list/truple/map/dict这些数据...

Python3实现发送邮件和发送短信验证码功能

Python3实现发送邮件和发送短信验证码功能

 Python3实现发送邮件: import smtplib from email.mime.text import MIMEText from email.utils i...

PyQt5 pyqt多线程操作入门

首先来看一个例子: # coding=utf-8 __author__ = 'a359680405' from PyQt5.QtCore import * from PyQ...

python异常处理和日志处理方式

今天,总结一下最近编程使用的python异常处理和日志处理的感受,其实异常处理是程序编写时非常重要的一块,但是我一开始学的语言是C++,这门语言中没有强制要求使用try...catch语...