在Raspberry Pi上使用PIL将一个图像添加到另一个图像

时间:2014-04-19 12:03:27

标签: python raspberry-pi python-imaging-library

我正在使用带有相机模块的覆盆子Pi。我写了一个脚本,让相机模块拍照。现在,在我拍摄照片之后,我需要一个Python脚本,它将最近拍摄的照片和另一张照片(如水印或徽标)放在一起。我试着用这个:http://pillow.readthedocs.org/en/latest/handbook/tutorial.html ,但我不知道我必须使用的命令或语法。 请有人帮助我。我是Python新手。

编辑: 我的Python脚本......用时间拍照。

from datetime import datetime
zeit = datetime.now()
zeit = "%s-%s-%s-%s:%s:%s" % (zeit.year,zeit.day,zeit.month,zeit.hour,zeit.minute,zeit.second)
Bildformat = ".png"

Bildname = "Bild-" + zeit + Bildformat

from subprocess import call

#call (["raspistill -o " + Bildname + " -t 1 -n"], shell=True)
call (["raspistill -o /home/pi/cam_project/Bilder/" + Bildname + " -t 1 -n"], shell=True)

编辑2:感谢您的回答。这是我的整个代码。我想在教程中添加一些内容(请查看上面的链接)。主要的想法是相机拍摄一张照片,PIL库(请参阅链接)抓取图片并将最近拍摄的照片添加到另一张照片中(我之前制作的照片位于同一目录中(如水印或徽标))

类似的东西:

from __future__ import print_function   
from PIL import Image

img_taken = Image.open("/home/pi/cam_project/Bilder/" + Bildname + "")

# This is the picture with the date as name 

img_watermark/logo = Image.open("home/pi/cam_project/Bilder/watermark.png

    # This is the logo


# Then I want something like: paste img_watermark/logo  in img_taken

如果您点击我上面发布的链接并向下滚动到“滚动图片”,他们会说出代码:

  

对于更高级的技巧,粘贴方法也可以采用   透明蒙版作为可选参数。在此掩码中,值为255   表示粘贴的图像在该位置是不透明的(即,   粘贴的图像应该按原样使用)。值0表示   粘贴的图像是完全透明的。中间的值表示   不同的透明度。


作为输出我想要处理过的图片(带有徽标/水印)

1 个答案:

答案 0 :(得分:3)

我认为这对你有用。它可以处理您使用的水印图像的透明度,也可以使水印图像更亮,因此它看起来不那么明显。

import PIL.Image
import PIL.ImageEnhance

# images
base_path = 'base.jpg'
watermark_path = 'watermark.png'
base = PIL.Image.open(base_path)
watermark = PIL.Image.open(watermark_path)

# optional lightness of watermark from 0.0 to 1.0
brightness = 0.5
watermark = PIL.ImageEnhance.Brightness(watermark).enhance(brightness)

# apply the watermark
some_xy_offset = (10, 20)
# the mask uses the transparency of the watermark (if it exists)
base.paste(watermark, some_xy_offset, mask=watermark)
base.save('final.png')
base.show()

public domain cat image

(公共领域猫图片)