Linux+v4l2自动设置相机曝光时间

    在Ubuntu环境下使用工业相机,安装了v4l2库设置相机的参数,之前发现了曝光时间对于运动拍照的清晰度影响较大,所以需要使用v4l2-ctl -d /dev/video0 -c exposure_absolute=20(所用相机默认为127)。为了方便使用,可以把这条指令放到开机执行里面,开机执行这条指令我找到了两种方法。

    第一种:写到gedit /etc/rc.local,把v4l2-ctl -d /dev/video0 -c exposure_absolute=20添加在exit0之前即可。之前的一台电脑,这样设置成功了,但是另外一台电脑如此设置以后并没有起作用。关于rc.local里面的指令不执行,有几个解决方法,http://www.linuxidc.com/Linux/2017-09/147166.htm这一篇都总结了而且文章可读性很好,不幸的是使用这几种方法都没起作用,后来还是根据这篇文章里的把错误日志记录下来,发现不起作用的原因是,没找到设备/dev/video0,这就说明执行/rc.local时,还没有识别到相机,所以如果是这个问题,可以参考下一种方法。

    第二种:跟之前的《ubuntu开机自动运行自写程序》http://blog.csdn.net/zilanpotou182/article/details/71173361

基本一样:

    (1)新建一个脚本文件:gedit /home/exposure.sh,然后输入如下内容)

    (2)输入如下内容,保存关闭:

             #!/bin/sh -e

             v4l2-ctl -d /dev/video0 -c exposure_absolute=20

             exit 0   

     (3)添加可执行权限:chmod +x /home/exposure.sh 

     (4)在/usr/share/applications目录下创建一个名为exposure的启动配置文件:

            cd /usr/share/applications

            gedit exposure.desktop 

     (5)在exposure.desktop文件里输入下面:

            [Desktop Entry]

            Version=1.0

            Name=exposure

            Exec=/home/exposure.sh   (这个是那个可执行文件的位置)

            StartupNotify=false

            NoDisplay=true

            Type=Application

            Categories=System;Utility;Archiving;

      (6)exposure.desktop文件拷贝到/etc/xdg/autostart目录下:

            cp exposure.desktop /etc/xdg/autostart

      (7)重启完成设置 

你可能感兴趣的:(嵌入式开发,物体检测)