def _captureBayer(shutter_speed): camera = None try: camera = PiCamera() _setup_camera(camera, _max_resolution, shutter_speed, _iso) rawCapture = PiBayerArray(camera) print("capture...") bayerCapture = PiBayerArray(camera) camera.capture(bayerCapture, "jpeg", bayer=True) # grab the 10 bit resolution with the raw bayer data imageBayer = bayerCapture.demosaic() print("done") except: if camera is None: raise Exception("Failed to initialize PiCamera.") else: raise Exception("Failed to capture image.") finally: if camera is not None: camera.close() return imageBayer
def _captureBayer(shutter_speed): camera = None try: camera = PiCamera() _setup_camera(camera, _max_resolution, shutter_speed, _iso) rawCapture = PiBayerArray(camera) print('capture...') bayerCapture = PiBayerArray(camera) camera.capture(bayerCapture, 'jpeg', bayer=True) # grab the 10 bit resolution with the raw bayer data imageBayer = bayerCapture.demosaic() print('done') except: if camera is None: raise Exception('Failed to initialize PiCamera.') else: raise Exception('Failed to capture image.') finally: if camera is not None: camera.close() return imageBayer
class CamServer_CaptureHandler(): def __init__(self): self.cam = PiCamera() self.arr = PiBayerArray(self.cam) def capture(self): logging.info('Capturing frame from camera') self.cam.capture(self.arr, 'jpeg', bayer=True) return self.arr.demosaic()
camera.resolution = (2592, 1944) # max. resolution camera.framerate = 1 camera.exposure_mode = 'off' camera.shutter_speed = 50000 # microseconds print("shutter", camera.shutter_speed) g = camera.awb_gains # get some reasonable gains camera.awb_mode = 'off' camera.awb_gains = (1, 1) # (red, blue) camera.iso = 10 print("iso", camera.iso) # raw bayer capture bayerCapture = PiBayerArray(camera) camera.capture( bayerCapture, 'jpeg', bayer=True) # grab the 10 bit resolution with the raw bayer data imageBayer = bayerCapture.demosaic() #imageBayer = imageBayer / 4 #imageBayer = imageBayer.astype(np.uint8) print(imageBayer) #camera.capture(rawCapture, format="yuv") # using yuv instead of rgb #camera.capture(rawCapture, format="bgr") # using yuv instead of rgb image = imageBayer imsave('bayer.tiff', image)
# fix camera parameters camera.resolution = (2592,1944) # max. resolution camera.framerate = 1 camera.exposure_mode = 'off' camera.shutter_speed = 50000 # microseconds print("shutter", camera.shutter_speed) g = camera.awb_gains # get some reasonable gains camera.awb_mode = 'off' camera.awb_gains = (1,1) # (red, blue) camera.iso = 10 print("iso", camera.iso) # raw bayer capture bayerCapture = PiBayerArray(camera) camera.capture(bayerCapture, 'jpeg', bayer=True) # grab the 10 bit resolution with the raw bayer data imageBayer = bayerCapture.demosaic() #imageBayer = imageBayer / 4 #imageBayer = imageBayer.astype(np.uint8) print(imageBayer) #camera.capture(rawCapture, format="yuv") # using yuv instead of rgb #camera.capture(rawCapture, format="bgr") # using yuv instead of rgb image = imageBayer imsave('bayer.tiff', image)