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
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
def getDevName(): namelst = [] sign = 1 i = -1 while sign: try: i += 1 cam = Device(i) namelst.append(cam.getDisplayName()) except: sign = 0 return namelst
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
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
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
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
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
from VideoCapture import Device cam = Device(devnum=0) print (cam.getDisplayName())