如何利用python实现一个合成图片功能-创新互联
这篇文章将为大家详细讲解有关如何利用python实现一个合成图片功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
python的PIL库简直好用的不得了,PIL下面的Image库更是封装了很多对图片处理的函数,关于Image库的介绍和使用,看这里:http://effbot.org/imagingbook/image.htm
这里用我半个月前看到的一篇博客写的demo作为背景,做一下图片的合成
图片可以看作是很多像素点组成的,每个像素点都是一个RGB颜色,(red, green, blue), 那么合成两张照片就有办法了,我们可以在一张新的RGB色的图片里一个像素点取图片一的对应位置的像素,下一个像素点取图片二的像素,直到遍历完成,代码如下:
from PIL import Image ##这里采用传入图片地址调用此函数 #这个方法目前不支持按比例合成,默认为1:1 #各取一个像素点合并,传入的参数为两张图片的地址 def merge1(img1_address,img2_addess): status=100 #状态码100为正常 # 200为地址错误 try: img1=Image.open(img1_address) img2=Image.open(img2_address) except: status=200 img_new="" else: width=min(img1.size[0],img2.size[0]) height=min(img1.size[1],img2.size[1]) print(width,height) img_new = Image.new('RGB',(width,height)) for x in range(width): for y in range(height): if y%2==0: pixel=img1.getpixel((x,y)) img_new.putpixel((x,y),pixel) else: pixel=img2.getpixel((x,y)) img_new.putpixel((x,y),pixel) finally: return img_new,status
本文标题:如何利用python实现一个合成图片功能-创新互联
当前地址:http://tyjierui.cn/article/didjhc.html