コード例 #1
0
ファイル: Webcam.py プロジェクト: agusti/Project-Gado
 def options(self, device_name=None, device_number=None):
     # I doubt people will have more than 5 webcams plugged in
     self.logger.debug(
         'options() called with device_name %s and device_number %s' %
         (device_name, device_number))
     opts = []
     for i in range(2):
         try:
             self.logger.debug('options - attempting to connect to %s' % i)
             d = Device(devnum=i)
             if device_name is not None and device_name == d.getDisplayName(
             ):
                 del self.device
                 self.device = d
             elif device_number is not None and device_number == i:
                 del self.device
                 self.device = d
             opts.append((i, d.getDisplayName()))
             del d
         except:
             self.logger.exception("Exception while setting webcam options")
             pass
     self.logger.debug('options() returning %s' % opts)
     if self.connected():
         self.logger.debug('options - managed to connect to a device!')
     return opts
コード例 #2
0
ファイル: Webcam.py プロジェクト: brendan-esda/Project-Gado
 def options(self, device_name=None, device_number=None):
     # I doubt people will have more than 5 webcams plugged in
     print 'Webcam\toptions() called'
     opts = []
     for i in range(2):
         try:
             print 'Webcam\toptions - attempting to connect to %s' % i
             d = Device(devnum=i)
             if device_name is not None and device_name == d.getDisplayName():
                 del self.device
                 self.device = d
             elif device_number is not None and device_number == i:
                 del self.device
                 self.device = d
             opts.append((i, d.getDisplayName()))
             del d
         except:
             pass
     print 'Webcam\toptions() returning %s' % opts
     return opts
コード例 #3
0
def getDevName():
    namelst = []
    sign = 1
    i = -1
    while sign:
        try:
            i += 1
            cam = Device(i)
            namelst.append(cam.getDisplayName())
        except:
            sign = 0
    return namelst
コード例 #4
0
def get_devicelist():
    """ Returns a dictionary of device names with corresponding port value and max resolution"""
    try:
        from VideoCapture import Device
        useVC = True
    except ImportError:
        useVC = False
        print(
            'VideoCapture is not correctly installed. No device name can be obtained'
        )
    devices = {}
    for i in range(10):
        try:
            import vidcap
            if useVC:
                dev = Device(i)
                dev_name = dev.getDisplayName()
                devices[dev_name] = {'port': i}
                del dev
            else:
                dev_name = 'camera{}'.format(i)

            devices[dev_name] = {}
            cam = cv2.VideoCapture(i)
            cam.set(cv2.CAP_PROP_FRAME_WIDTH,
                    5000)  # force maximum resolution by overshooting
            cam.set(cv2.CAP_PROP_FRAME_HEIGHT,
                    5000)  # force maximum resolution by overshooting
            cam.set(cv2.CAP_PROP_CONVERT_RGB, 1)
            w = cam.get(cv2.CAP_PROP_FRAME_WIDTH)
            h = cam.get(cv2.CAP_PROP_FRAME_HEIGHT)

            devices[dev_name]['fps'] = cam.get(cv2.CAP_PROP_FPS)
            devices[dev_name]['resolution'] = [w, h]
            devices[dev_name]['port'] = i
            devices[dev_name]['format'] = cam.get(cv2.CAP_PROP_FORMAT)
            devices[dev_name]['mode'] = cam.get(cv2.CAP_PROP_MODE)
            devices[dev_name]['buffersize'] = cam.get(cv2.CAP_PROP_BUFFERSIZE)
            devices[dev_name]['fourcc'] = cam.get(cv2.CAP_PROP_FOURCC)
            devices[dev_name]['brightness'] = cam.get(cv2.CAP_PROP_BRIGHTNESS)
            devices[dev_name]['contrast'] = cam.get(cv2.CAP_PROP_CONTRAST)
            devices[dev_name]['saturation'] = cam.get(cv2.CAP_PROP_SATURATION)
            devices[dev_name]['hue'] = cam.get(cv2.CAP_PROP_HUE)
            devices[dev_name]['gain'] = cam.get(cv2.CAP_PROP_GAIN)
            devices[dev_name]['exposure'] = cam.get(cv2.CAP_PROP_EXPOSURE)
            devices[dev_name]['convertRGB'] = cam.get(cv2.CAP_PROP_CONVERT_RGB)

            del cam
        except vidcap.error:
            break
    return devices
コード例 #5
0
ファイル: Webcam.py プロジェクト: ProjectGado/Project-Gado
 def options(self, device_name=None, device_number=None):
     # I doubt people will have more than 5 webcams plugged in
     self.logger.debug('options() called with device_name %s and device_number %s' % (device_name, device_number))
     opts = []
     for i in range(2):
         try:
             self.logger.debug('options - attempting to connect to %s' % i)
             d = Device(devnum=i)
             if device_name is not None and device_name == d.getDisplayName():
                 del self.device
                 self.device = d
             elif device_number is not None and device_number == i:
                 del self.device
                 self.device = d
             opts.append((i, d.getDisplayName()))
             del d
         except:
             self.logger.exception("Exception while setting webcam options")
             pass
     self.logger.debug('options() returning %s' % opts)
     if self.connected():
         self.logger.debug('options - managed to connect to a device!')
     return opts
コード例 #6
0
ファイル: WinCapture.py プロジェクト: HSOFEUP/artos
 def enumerateDevices():
     """Lists all available video devices.
     
     Returns a tuple of 2-tuples, which contain the integral index
     and the display name (if available) of the video device.
     """
     
     devices = ()
     i = 0
     cont = True
     while cont:
         try:
             d = Device(i)
             devices += ((i, d.getDisplayName()),)
             i += 1
         except:
             cont = False
     return devices
コード例 #7
0
    def enumerateDevices():
        """Lists all available video devices.
        
        Returns a tuple of 2-tuples, which contain the integral index
        and the display name (if available) of the video device.
        """

        devices = ()
        i = 0
        cont = True
        while cont:
            try:
                d = Device(i)
                devices += ((i, d.getDisplayName()), )
                i += 1
            except:
                cont = False
        return devices
コード例 #8
0
    def get_devicelist():
        """ Returns a dictionary of device names with corresponding port value and max resolution"""
        try:
            from VideoCapture import Device
            useVC = True
        except ImportError:
            useVC = False
            print(
                'VideoCapture is not correctly installed. No device name can be obtained'
            )
        devices = {}
        for i in range(10):
            try:
                import vidcap
                if useVC:
                    dev = Device(i)
                    dev_name = dev.getDisplayName()
                    devices[dev_name] = {'port': i}
                    del dev
                else:
                    dev_name = 'camera{}'.format(i)

                devices[dev_name] = {}
                cam = cv2.VideoCapture(i)
                cam.set(cv2.CAP_PROP_FRAME_WIDTH,
                        5000)  # force maximum resolution by overshooting
                cam.set(cv2.CAP_PROP_FRAME_HEIGHT,
                        5000)  # force maximum resolution by overshooting
                w = cam.get(cv2.CAP_PROP_FRAME_WIDTH)
                h = cam.get(cv2.CAP_PROP_FRAME_HEIGHT)
                devices[dev_name]['resolution'] = [w, h]
                devices[dev_name]['port'] = i
                del cam
            except vidcap.error:
                break
        return devices
コード例 #9
0
from VideoCapture import Device
cam = Device(devnum=0)
print (cam.getDisplayName())