用其他图像替换图像的像素,同时保留图像

时间:2016-05-26 09:31:59

标签: python image python-imaging-library

我看过一个由她的多个图像组成的女孩的图像。所以我想用python脚本实现同样的事情。(我对图像处理来说是全新的)

我正在使用pil库来制作这个剧本。

import sys,os
from PIL import Image
img = Image.open("DSC_0149.jpg")
pixels = img.load()
for i in range(img.size[0]):   
    for j in range(img.size[1]):
        pixels[i,j] = (i, j, 100) # I will change this to some pic image.
img.show()

我首先尝试更改保留图片的像素的颜色,但这段代码可以正常工作。

任何人都可以指导我如何实现它。

编辑:我想用多张图片填充图片,然后保留原始图片。 这样的事情:http://www.photoshopessentials.com/photo-effects/photo-fill/但是以更好的方式。

2 个答案:

答案 0 :(得分:0)

首先,你需要用这个来编辑每个像素来改变颜色:

如果是rgb:

img.putpixel((10,15),(R,G,B))

更快:像素[1,1] =(r,g,b)

否则:

Is it possible to change the color of one individual pixel in Python?

在知道如何编辑每个像素后,您必须使用如下调整大小创建图像的小副本:

复制图片:

// Not tested : Make sure it's rgb
img = Image.new( 'RGB', (img.size[0],(img.size[1]), "black") # create a new black image
pixels = img.load() # create the pixel map

for i in range(img.size[0]):    # for every pixel:
    for j in range(img.size[1]):
        pixels[i,j] = other_image_pixel[i,j] # set the colour accordingly

https://opensource.com/life/15/2/resize-images-python

对每个小图像应用颜色滤镜,以匹配您将用此图像替换的区域颜色。

答案 1 :(得分:0)

了解整个过程的最佳方法是花时间以相同的语言阅读此代码,它大约有200行:

https://github.com/codebox/mosaic

希望它能解决你的问题