我见过一个女孩的图像,它由她的多个图像组成。所以我想使用 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/但方式要好得多。
首先您需要使用此像素编辑每个像素以更改颜色:
如果是 rgb:
img.putpixel((10,15),(r,g,b))
或
更快:像素[1, 1] = (r, g, b)
否则:
是否可以在 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
对每个小图像应用"颜色"滤镜,以匹配将替换为此图像的区域颜色。
理解整个过程的最好方法是花时间阅读同一种语言的代码,大约 200 行:
https://github.com/codebox/mosaic
希望它能解决你的问题