试图将 2 张图像相互重叠
Trying to put 2 images to over lap one another
我有两张图片需要合二为一。第一个是关于海边的海滩。第二张图片是仙人掌,背后有非常明亮的绿色屏幕。我需要找到一种方法来调低仙人掌图片中的绿屏,以便我可以将它放在海滩图片上,让它看起来就像海滩上有仙人掌。我可以更改像素颜色,但我似乎无法去除仙人掌图片的亮绿色屏幕颜色。我也可以将两张图片放在一起,但仙人掌图片的绿色屏幕覆盖了海滩图片的颜色。谁能帮我看看如何调低仙人掌图片的绿色像素或去掉绿屏部分?
这是我正在使用的代码。它在 google 文档中。我迷路了。
这是 link 看看我需要做什么。最后一张图应该是这样的
https://docs.google.com/document/d/1ZYrigN1LXSMq3_llc6eimZqBh2R9ZVeBmmxSUx63__E/edit?usp=sharing
在这里您必须更改 (r, g, b) 值以获得最佳蒙版。您也可以使用范围。看看这个。
from PIL import Image
from PIL import ImageFilter
import os
im1 = Image.open('beach.jpg')
im2 = Image.open('cactus.jpg')
back_im = im1.copy()
for filename in os.listdir("."):
if filename[-3:] == "jpg":
img = Image.open(filename)
img = img.convert("RGBA")
pixdata = img.load()
for y in range(img.size[1]):
for x in range(img.size[0]):
r, g, b, a = img.getpixel((x, y))
if (r == 76) and (g == 244) and (b == 24):
pixdata[x, y] = (255, 255, 255, 0)
if r == 0 and g == 0 and b == 0:
pixdata[x, y] = (255, 255, 255, 0)
img2 = img.filter(ImageFilter.GaussianBlur(radius=1))
back_im.paste(img2,mask=img2)
back_im.save('filename.jpg')
我有两张图片需要合二为一。第一个是关于海边的海滩。第二张图片是仙人掌,背后有非常明亮的绿色屏幕。我需要找到一种方法来调低仙人掌图片中的绿屏,以便我可以将它放在海滩图片上,让它看起来就像海滩上有仙人掌。我可以更改像素颜色,但我似乎无法去除仙人掌图片的亮绿色屏幕颜色。我也可以将两张图片放在一起,但仙人掌图片的绿色屏幕覆盖了海滩图片的颜色。谁能帮我看看如何调低仙人掌图片的绿色像素或去掉绿屏部分? 这是我正在使用的代码。它在 google 文档中。我迷路了。 这是 link 看看我需要做什么。最后一张图应该是这样的
https://docs.google.com/document/d/1ZYrigN1LXSMq3_llc6eimZqBh2R9ZVeBmmxSUx63__E/edit?usp=sharing
在这里您必须更改 (r, g, b) 值以获得最佳蒙版。您也可以使用范围。看看这个。
from PIL import Image
from PIL import ImageFilter
import os
im1 = Image.open('beach.jpg')
im2 = Image.open('cactus.jpg')
back_im = im1.copy()
for filename in os.listdir("."):
if filename[-3:] == "jpg":
img = Image.open(filename)
img = img.convert("RGBA")
pixdata = img.load()
for y in range(img.size[1]):
for x in range(img.size[0]):
r, g, b, a = img.getpixel((x, y))
if (r == 76) and (g == 244) and (b == 24):
pixdata[x, y] = (255, 255, 255, 0)
if r == 0 and g == 0 and b == 0:
pixdata[x, y] = (255, 255, 255, 0)
img2 = img.filter(ImageFilter.GaussianBlur(radius=1))
back_im.paste(img2,mask=img2)
back_im.save('filename.jpg')