zoukankan      html  css  js  c++  java
  • Python 相机镜头

    一哥第一卷感叹,这家奥地利~。这是什么g8事件,近盲目安装3g的OpenCV,结果徒劳。

    入题。!环境Python2.7

    严厉格按照什么步骤。必成功:

    所需的软件如下面:

    VideoCapture:  http://videocapture.sourceforge.net/VideoCapture-0.9-5.zip

    MyEclipse 插件PyDev: http://ncu.dl.sourceforge.net/project/pydev/pydev/PyDev%202.7.1/PyDev%202.7.1.zip

    PIL : http://effbot.org/media/downloads/PIL-1.1.7.win32-py2.7.exe

    1.      VideoCapture解压后,找到Python27。把里面的东西拷贝到自己安装Python相应文件夹中。建议把Python27外面的src tools啥的仅仅要相应的都复制过去。


    2.      PIL直接安装就可以

    3.      PyDev解压后直接拷贝到MyEclipse中的dropins。这里的环境配置网上一抓一大把。

    环境准备完毕。代码例如以下:

    fromVideoCapture import Device

    importtime, string

    interval= 2

    cam =Device(devnum=0, showVideoWindow=0)

    #cam.setResolution(648,480)

    cam.saveSnapshot('image.jpg',timestamp=3, boldfont=1, quality=75)

    i = 0

    quant =interval * .1

    starttime= time.time()

    while 1:

        lasttime = now = int((time.time() -starttime) / interval)

        print i

        cam.saveSnapshot('image.jpg', timestamp=3,boldfont=1)

        i += 1

        while now == lasttime:

            now = int((time.time() - starttime) /interval)

           time.sleep(quant)

    直接运行就可以。

    试执行,哈哈:

     

    具体解释及延伸:

    对于DEVICE的各项參数解释官档解释例如以下:

    class Device:

        """Create instances of this class which will then representvideo devices.

     

        For the lifetime of the instance, thedevice is blocked, so it can not be

        used by other applications (which is quitenormal Windows behavior).

        If you want to access the device fromanother program, you have to delete

        the instance first (e.g. del cam).

     

        """

        def __init__(self, devnum=0, showVideoWindow=0):

            """devnum: VideoCapture enumerates the available video capture devices

                        on your system.  If you have more than one device, specify

                        the desired one here.  The device number starts from 0.

     

               showVideoWindow: 0 ... do notdisplay a video window (the default)

                                1 ... display avideo window

     

                                Mainly used fordebugging, since the video window

                                can not be closedor moved around.

    saveSnapshot的各项參数解释例如以下:

    def saveSnapshot(self, filename, timestamp=0, boldfont=0,textpos=default_textpos, **keywords):

            """Saves a snapshot to the harddisk.

     

            The filetype depends on thefilename extension.  Everything that PIL

            can handle can be specified (foo.jpg,foo.gif, foo.bmp, ...).

     

            filename:   String containing the name of the resultingfile.

     

            timestamp:  see getImage()

     

            boldfont:   see getImage()

     

            textpos:    see getImage()

     

            Additional keyword arguments can begive which are just passed to the

            save() method of the Image class.  For example you can specify the

            compression level of a JPEG image byquality=75 (which is the default

            value anyway).

    getImage的各项參数解释例如以下:

    def getImage(self, timestamp=0, boldfont=0, textpos=default_textpos):

            """Returns a PIL Image instance.

     

            timestamp:  0 ... no timestamp (the default)

                        1 ... simple timestamp

                        2 ... timestamp withshadow

                        3 ... timestamp withoutline

     

            boldfont:   0 ... normal font (the default)

                        1 ... bold font

     

            textpos:    The position of the timestamp can bespecified by a string

                        containing a combination oftwo characters.  One character

                        must be either t or b, theother one either l, c or r.

     

                        t ... top

                        b ... bottom

     

                        l ... left

                        c ... center

                        r ... right

     

                        The default value is 'bl'

    自己写的助于理解上述程序的程序:

    import time

    a=2

    b=a*.1

    i=0

    print b

    stime = time.time()

    print stime

    m=2

    while m>i:

       lasttime = now = int((time.time()-stime)/a)

       print ('i is: %s') %i

       i+=1

       print '进入while循环'

       while now ==lasttime:

           now = int((time.time()-stime)/a)

           print (time.time()-stime)/a

           print ('now is: %s') %now

           print ('lasttime is: %s') %lasttime

           if now ==lasttime:

               print ('lasttime == now')

           else:

               print ('lasttime 不等于 now')

           time.sleep(b)

            print '休眠%s第二' %b

    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    Window上编译最新版libCef(Branch 2704)(转载)
    在hue 使用oozie sqoop 从mysql 导入hive 失败
    hive 支持更新
    基于Hadoop生态圈的数据仓库实践 —— 环境搭建(三)笔记
    修改CENTOS7的网卡名(将网卡ens33修改为我们在centos6中常见的eth0)
    config network name
    Java服务部署规范(内部使用)
    MongoDB干货系列1-定期巡检之Mtools
    mongodb validation--像关系型数据库表去使用mongodb
    ntp 服务导致kudu集群不可用
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4882605.html
Copyright © 2011-2022 走看看