17LAMP.NET

17LAMP,一起来开源,一起来生活

在电脑中用gPhoto控制你的照相机

 

在电脑中用gPhoto控制你的照相机

Nathan Willis提供

翻译者:17LAMPNET Bob

在数码单反相机市场上,佳能和尼康两大巨头都制作了专门的软件,可以通过USB线连接到电脑上来控制你的相机。在某些情况下这会是一个很好的工具,它可以手动触发快门来实现长期爆光,或者自动定时连续拍摄。但是,当然相机制造商标不提供这种软件在自由软件操作系统上的版本——正如它的当然一样,开源世界有自己的解决办法。你可以用gPhoto来实现相同的操作功能。

gPhoto项目是开源工程中珍贵的项目之一,它工作得如此之好以至于很容易忘记它的存在。插入数码相机,然后是一些照片管理程序供你选择,比如FSpotdigikamgtkam或者其它的。识别相机,然后安静而熟练的检索你的照片而不会有任何毛病。但是对于大多数相机,gPhoto 可以做的更多,包括一些相机固件所支持的功能。包括USB图像捕捉这样一个通常会想到的功能——网络摄像头,但是当然只有那些比较好的数码相机才可以。

要利用这种功能,你必须要有一个支持该功能的数码相机,和一个足够新版本(有些情况下)的gPhotogPhoto最基本的上传下载功能可以支持1000种不同的相机,但不是所有的相机都支持USB控制摄像头的功能,并且也不是所有的相机都能被gPhoto识别出来。在该项目的wiki的相机控制页面上,查看你的相机是否在支持的列表中。

我有两台相机,一个佳能S2 Is微距拍摄,另一个是佳能 EOS 5D SLR。两个都在远程控制支持名单中,尽管5D 相机的说明提示gPhoto的版本要求 2.4.0 或者更新。因为gPhoto是大多数桌面Linux系统的标准组件,你可以在你用的发行版中找到它的官方程序包;由于历史原因包名称是gphoto2,而不是gphoto

入门

一次安装了合适的gphoto2新版本,我把我的5D相机用USB线连接到电脑并且打开它的电源。和平常一样一个信息框弹来提醒我一台相机被检测到了,并且问我是否想要下载新的照片到计算机里。如果之前你已经告诉你的系统自动开始提取照片,你自己的相机可能不会出现这样一个对话框。你不能打断照片提取的过程,只是等待它完成。

gphoto2软件包包含了名为gphoto2命令行和图形终端程序。你可以随心所欲的从相机的记忆卡中下载照片,此外它也能探索发掘相机的更多功能。在终端提示中输入gphoto -a将返回相机的功能列表。这包含了我们需要的图片捕捉和捕捉预览。5D相机不能录视频和声音;也有的相机是可以支持捕捉视频和声音的。

在这一点上,也许gphoto2会报告你的相机是不支持某些功能的(如图片捕捉),而gphoto网站上却说是支持的。如果发生了这种情况,那么罪魁祸手可能是你的连接模式。一些相机(尤其是微距模式的)只能通过USB用图片传输模式(PTP)。Spiffier模型可能有其它的模式,用gphoto2进入它的高级功能可能要求切换相机到这些模式中的某一种。

5D相机有两种选项,PTP模式和PC连接模式;后一种是gphoto2的远程控制所需要的。在5D上你只能通过相机的内置菜单和在LCD屏幕上的控制来改变模式,gphoto2将报告图像捕捉和捕捉预览为可用功能了。

采集一些基本的图片

捕捉图像的命令激发快门,就像你用有线或者无线遥控器按下快门一样。这意味着它可以使用相机的多种设置,快门速度、光圈、自动对焦、分辨率等等。你必须预先设置好拍摄;所有这些gphoto2发送一个信号就可以激发。捕捉图像把生成的照片保存到相机的内存或者存储卡中,一切都跟手动拍摄一样。你唯一能获得的好处就是从计算机激发拍摄的便利。

你可以在图像捕捉命令中附上参数来添加一些功能。-I或者--interval参数允许你指定一个拍摄时间间隔,过了这么长的间隔时间后相机会自动加拍。用-I的参数你还得考虑加上-F或者--frames的参数来指定你想在这个模式下拍摄多少次。如果你忽略了-F的参数,gphoto2将按照指定的间歇时间一直拍摄下去直到用完相机的存储空间。

一些gphoto2的用户曾经报告过捕捉图像命令的一个错误,这个错误使gphoto2在照片拍完后仍然不能停止。一个好消息是gphoto2已经修正了这个问题,所以如果你没有升级你的软件并且遇到了这个错误,你可以设法获取它的源代码然后自己编译安装。另外出现这个问题的时候,你还可以使用键盘的ctrl-c的组合键来安全的结束gphoto2

不同于图像捕捉,捕捉预览的命令拍下一张图片并且把它直接下载到相连接的电脑里,完全绕过了相机的存储器。利用这种差别,你可以使用-F-I的参数来抓取连续间隔时间的照片,而不必顾虑相机中剩余的可用空间。

展望

s捕捉图像的命令不做任何调节也可以激发拍摄。你可以使用“-set-config”的参数,在很多相机上改变光圈、快门速度、ISO设置和其它的参数。要找出你相机上哪些参数可以用gphoto2设置,输入“gphoto2—list-config”。你可以用“gphoto2 –get-confign 属性的命令查到每个单独的参数值,程序会返回当前设置和所有可用值的列表,对于那些拥有几十种设置复杂而你没法记得住的相机(或者附加镜头),这是非常有用的。你可以用“gphoto2 –set-config 属性 值的命令来更改这些设置。

如果所有那些命令行的输入显得太老土了,你也可以使用一个菜单驱动的交互界面来实现“gphoto2 –config” 命令相同的设置。这个交互界面是使用ncurses库的纯文本界面,但这比输入那些get/set命令也要方便多了,尤其是要改变很多参数值的情况下。

 “--hook-script”这个选项提供了很多功能。在“--capture-image”命令后面加上“--hook-script=/path/to/some/script.sh ”你可以使gphoto2执行完命令后再运行一段shell脚本。这可以实现从备份图片路径到发送email信息等任何功能。

说到脚本,gphoto2的命令行图像捕捉功能实现自动化已经很成熟了。你也可以通过物理连接到相机的电脑上抓取一两帧的图像,当然你也可以用减震器拍长时间镜头,你也可以隐藏在几英尺外来拍摄那些易受惊吓的小鸟,等等。驱动gphoto2拍摄照片也是由外部的硬件或者软件来实现的,但是如果没有你在现场这将会更加有趣。

虽说如此,我还没有在真实世界中看到有人用过gphoto2的远程控制功能。如果你有一个好的例子,尤其是你有亲身体验,请发表出来跟大家分享其中的细节。同时,找一个长USB线缆然后开始拍摄吧。

 

Reserved by www.17LAMP.net