TranslateProject/translated/tech/20150121 How to apply image effects to pictures on Raspberry Pi.md
2015-02-23 08:36:00 +08:00

5.1 KiB
Raw Blame History

如何在树莓派上使用图片特效

现在使用树莓派摄像头模组("raspi cam"),也可以像使用卡片相机那样,给拍摄的照片增加各种各样的图片特效。 raspistill命令行工具为您的树莓派提供了丰富的图片特效选项来美化处理你的图片。

你可以用这3个命令行工具抓取raspicam拍摄的照片或者视频在这文章中将重点介绍其中的raspstill工具。raspstill工具提供了丰富的控制选项来处理图片比如说锐度sharpness、对比度contrast、亮度brightness、饱和度saturation、ISO、自动白平衡AWB、以及图片特效image effect等。

在这篇文章中将介绍如何使用raspstill工具以及raspicam摄像头模组来控制照片的曝光、AWB以及其他的图片效果。我写了一个简单的python脚本来自动拍摄照片并在这些照片上自动应用各种图片特效。raspicam的帮助文档中介绍了该摄像头模组所支持的曝光模式、AWB和图片特效。总的来说raspicam一共支持16种图片特效、12种曝光模式以及10种AWB选项。

Python脚本很简单如下所示 。

#!/usb/bin/python
import os
import time
import subprocess
list_ex=['auto','night']
list_awb=['auto','cloud',flash']
list_ifx=['blur','cartoon','colourswap','emboss','film','gpen','hatch','negative','oilpaint','posterise','sketch','solarise','watercolour']
x=0
for ex in list_ex:
    for awb in list_awb:
        for ifx in list_ifx:
            x=x+1
            filename='img_'+ex+'_'+awb+'_'+ifx+'.jpg'
            cmd='raspistill -o '+filename+' -n -t 1000 -ex '+ex+' -awb '+awb+' -ifx '+ifx+' -w 640 -h 480'
            pid=subprocess.call(cmd,shell=True)
            print "["+str(x)+"]-"+ex+"_"+awb+"_"+ifx+".jpg"
            time.sleep(0.25)
print "End of image capture"

The Python script operates as follows. First, create three array/list variable for the exposure, AWB and image effects. In the example, we use 2 types of exposure, 3 types of AWB, and 13 types of image effects values. Then make nested loops for applying the value of the three variables that we have. Inside the nested loop, execute the raspistill application. We specify (1) the output filename; (2) exposure value; (3) AWB value; (4) image effect value; (5) the time to take a photo, which is set to 1 second; and (6) the size of the photo, which is set to 640x480px. This Python script will create 78 different versions of a captured photo with a combination of 2 types of exposure, 3 types of AWB, and 13 types of image effects.

这个脚本完成了以下几个工作。首先脚本中定义了3个列表分别用于枚举曝光模式、AWB模式以及图片特效。在这个实例中我们将使用到2种曝光模式、3种AWB模式以及13种图片特效。脚本会遍历上述3种选项的各种组合并使用这些参数组合来运行raspistill工具。传入的参数共6个分别为1输出文件名2曝光模式3AWB模式4图片特效模式5拍照时间设为1秒6图片尺寸设为640x480。脚本会自动拍摄78张照片每张照片会应用不同的特效参数。

执行这个脚本也很简单,只需键入下面的命令行:

$ python name_of_this_script.py 

下面是抓取到一些样张。

小福利

除了使用raspistill命令行工具来操控raspicam摄像模组以外还有其他的方法可以用哦。Picamera是一个python库它提供了操控raspicam摄像模组的的API接口这样就可以便捷地构建更加复杂的应用程序。如果你精通python那么picamera一定是你项目的好伙伴。picamera已经被默认集成到Raspbian最新版本的的镜像中。当然如果你用的不是最新的Raspbian或者是使用其他的操作系统版本你可以通过下面的方法来进行手动安装。

首先先在你的系统上安装pip详见指导

然后就可以按下面的方法安装picamera。

 $ sudo pip install picamera 

picamera的使用说明可以查阅官方文档


via: http://xmodulo.com/apply-image-effects-pictures-raspberrypi.html

作者:Kristophorus Hadiono 译者:coloka 校对:校对者ID

本文由 LCTT 原创翻译,Linux中国 荣誉推出