这篇文章主要介绍了python图片合成的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
python的PIL库简直好用的不得了,PIL下面的Image库更是封装了很多对图片处理的函数,关于Image库的介绍和使用,
这里用我半个月前看到的一篇博客写的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(