def camp(): # send 3d set to compute - without display #num = request.args.get('number') send_start() camera = init_camera() camera.resolution =(160,160) #camera.framerate_range =(10,10) cam_settings = CameraSettings(camera) init_3d_camera(cam_settings) size = request.args.get('size', None) if size: camera.resolution =(int(size),int(size)) set_dias(False) set_flash(FLASH_LEVEL) warm_up() fd1 = BytesIO() camera.capture(fd1, format='jpeg', use_video_port=True, quality=JPEG_QUALITY) fd1.truncate() fd1.seek(0) (fd2, fd3) = get_picture_set(camera) send_picture([fd1,fd2,fd3], 1) camera.close() led_off() send_stop() res = { "device": DEVICEID } return res
def p_picture(): arg = "?" + get_set_led() camera = init_camera() warm_up() exposure = get_exposure_info(camera) camera.close() return render_template('picture.html', name="", exposure=exposure, arg=arg)
def u_picture(): #?quality=85&dias=0&type=jpeg/png camera = init_camera() camera.resolution = (2592, 1944) pic_format = 'jpeg' pic_mime = 'image/jpeg' img_type = request.args.get('type', None) if img_type == 'png': pic_format = 'png' pic_mime = 'image/png' pic_quality = 85 quality = request.args.get('quality', None) if quality: pic_quality = int(quality) size = request.args.get('size', None) if size: camera.resolution = (int(size), int(size)) compensation = request.args.get('compensation', None) if compensation: camera.exposure_compensation = int(compensation) zoom = request.args.get('zoom', None) if zoom: res = myzoom(float(zoom)) print("zoom", zoom, res) camera.zoom = res get_set_led() warm_up() if _DEBUG: print(get_exposure_info(camera)) return send_file(get_picture(camera, format=pic_format, quality=pic_quality), mimetype=pic_mime)
def info(): camera = init_camera() get_set_led() warm_up() camera_info = get_picture_info(camera) #pprint.pprint(camera_info) camera.close() led_off() return Response( pprint.pformat(camera_info).replace('\n', '<br />') + '<br><a href="/">Back</a>')
def cam(): set_flash(FLASH_LEVEL) send_api_request("start2d", url=COMPUTE_SERVER) camera = init_camera() camera.resolution = (640, 480) #camera.framerate_range =(10,25) size = request.args.get('size', None) if size: camera.resolution = (int(size), int(size)) warm_up() return Response(get_pictures(camera), mimetype='multipart/x-mixed-replace; boundary=frame')
def test(): mycamera = init_camera() mycamera.resolution = (640, 480) warm_up() settings = CameraSettings(mycamera) dias = None flash = None if request.method == 'POST': print(request.form) settings.contrast = int(request.form['contrast']) settings.brightness = int(request.form['brightness']) settings.saturation = int(request.form['saturation']) settings.iso = int(request.form['iso']) settings.exposure_compensation = int( request.form['exposure_compensation']) settings.exposure_mode = request.form['exposure_mode'] settings.awb_mode = request.form['awb_mode'] settings.sharpness = int(request.form['sharpness']) settings.meter_mode = request.form['meter_mode'] settings.drc_strength = request.form['drc_strength'] settings.resolution = request.form['resolution'] settings.shutter_speed = int(request.form['shutter_speed']) * 1000 dias = request.form.get('dias') flash = request.form.get('flash') #print ("Flash", flash) #print ("Dias", dias) fd = capture_picture(mycamera) exposure1 = Markup( get_exposure_info(mycamera) + "<br>" + get_white_balance(mycamera)) img1 = base64.b64encode(fd.getvalue()).decode() settings.set() mysettings = "Camera: " + settings.str() if flash: set_flash(True) if dias: set_dias(True) warm_up() fd2 = capture_picture(mycamera) exposure2 = Markup( get_exposure_info(mycamera) + "<br>" + get_white_balance(mycamera) + " " + mysettings) img2 = base64.b64encode(fd2.getvalue()).decode() mycamera.close() set_flash(False) set_dias(False) return render_template('calibrate.html', header="Calibrate", img1=img1, img2=img2, exposure1=exposure1, exposure2=exposure2)
def test(): server_up = send_start() if not server_up: return '{"result": 0, "reason": "no connection to compute server"}' camera = init_camera() camera.resolution =(160,160) camera.framerate_range =(10,10) cam_settings = CameraSettings(camera) mode = '' mode = request.args.get('mode', None) init_3d_camera(cam_settings) # start set_dias(False) set_flash(FLASH_LEVEL) warm_up() return Response(get_test_pictures(camera, mode=mode),mimetype='multipart/x-mixed-replace; boundary=frame')
def cam(): get_set_led() camera = init_camera() warm_up() if _DEBUG: print(get_exposure_info(camera)) size = request.args.get('size', None) if size: camera.resolution = (int(size), int(size)) max_frame = request.args.get('maxframerate', None) if max_frame: myrange = camera.framerate_range camera.framerate_range = (myrange.low, int(max_frame)) quality = request.args.get('quality', None) if quality: quality = int(quality) return Response(scan_cont_pictures(camera, quality=quality), mimetype='multipart/x-mixed-replace; boundary=frame')
def picture(): # send one picture to API server camera = init_camera() camera.resolution = (640, 480) #camera.framerate_range =(10,25) size = request.args.get('size', None) if size: camera.resolution = (int(size), int(size)) warm_up() fd = capture_picture(camera) expinfo = get_exposure_info(camera) camera.close() res = send_file_object(fd, "2d.jpg", data={ 'folder': "testfolder", 'exposure': expinfo }) print(res) return Response(res)
def cam(): # send 3d set to compute no_pictures = request.args.get('no_pictures', NUMBER_PICTURES, type=int) picture_interval = request.args.get('picture_interval', PICTURE_INTERVAL, type=float) server_up = send_start() if not server_up: return '{"result": 0, "reason": "no connection to compute server"}' camera = init_camera() camera.resolution =(160,160) camera.framerate_range =(10,10) cam_settings = CameraSettings(camera) init_3d_camera(cam_settings) size = request.args.get('size', None) if size: camera.resolution =(int(size),int(size)) # start set_dias(False) set_flash(FLASH_LEVEL) warm_up() return Response(get_pictures(camera, no_pictures=no_pictures, picture_interval=picture_interval),mimetype='multipart/x-mixed-replace; boundary=frame')
def cam3dias(): # send a serie of pictures send_start() camera = init_camera() camera.resolution =(160,160) camera.framerate_range =(10,10) cam_settings = CameraSettings(camera) init_3d_camera(cam_settings) size = request.args.get('size', None) if size: camera.resolution =(int(size),int(size)) print (get_exposure_info(camera)) set_dias(False) set_flash(True) print (get_exposure_info(camera)) warm_up() print (get_exposure_info(camera)) warm_up() print (get_exposure_info(camera)) warm_up() print (get_exposure_info(camera)) return Response(get_dias(camera, 10),mimetype='multipart/x-mixed-replace; boundary=frame')
def camera(): sleeptime = 1.5 os.makedirs("/tmp/calib", mode=0o777, exist_ok=True) mycamera = init_camera() #mycamera.resolution =(2592,1944) set_dias(0) set_flash(0) warm_up() if _DEBUG: print(get_camera_settings(mycamera)) #normal mycamera.capture('/tmp/calib/color.png', use_video_port=False) if _DEBUG: print("Color", get_exposure_info(mycamera)) mycamera.capture('/tmp/calib/color.jpg', use_video_port=False) write_picture_info("/tmp/calib/color.json", get_picture_info_json(mycamera)) #dias set_dias(1) sleep(sleeptime) mycamera.capture('/tmp/calib/dias.png', use_video_port=False) if _DEBUG: print("Dias:", get_exposure_info(mycamera)) mycamera.capture('/tmp/calib/dias.jpg', use_video_port=False) write_picture_info("/tmp/calib/dias.json", get_picture_info_json(mycamera)) #full flash set_dias(0) set_flash(1) sleep(sleeptime) mycamera.capture('/tmp/calib/flash.png', use_video_port=False) if _DEBUG: print("Flash", get_exposure_info(mycamera)) mycamera.capture('/tmp/calib/flash.jpg', use_video_port=False) write_picture_info("/tmp/calib/flash.json", get_picture_info_json(mycamera)) fix_exposure(mycamera) #dark set_flash(0) sleep(sleeptime) mycamera.capture('/tmp/calib/nolight.png', use_video_port=False) if _DEBUG: print("NoLight", get_exposure_info(mycamera)) mycamera.capture('/tmp/calib/nolight.jpg', use_video_port=False) write_picture_info("/tmp/calib/nolight.json", get_picture_info_json(mycamera)) auto_exposure(mycamera) #low flash set_dias(0) set_flash(0.1) sleep(sleeptime) mycamera.capture('/tmp/calib/flash01.png', use_video_port=False) if _DEBUG: print("Flash01", get_exposure_info(mycamera)) mycamera.capture('/tmp/calib/flash01.jpg', use_video_port=False) write_picture_info("/tmp/calib/flash01.json", get_picture_info_json(mycamera)) fix_exposure(mycamera) set_flash(0) sleep(sleeptime) mycamera.capture('/tmp/calib/nolight01.png', use_video_port=False) mycamera.close() filelist = [ '/tmp/calib/color.png', '/tmp/calib/color.jpg', '/tmp/calib/color.json', '/tmp/calib/dias.png', '/tmp/calib/dias.jpg', '/tmp/calib/dias.json', '/tmp/calib/flash.png', '/tmp/calib/flash.jpg', '/tmp/calib/flash.json', '/tmp/calib/nolight.png', '/tmp/calib/nolight.jpg', '/tmp/calib/nolight.json', '/tmp/calib/flash01.png', '/tmp/calib/flash01.jpg', '/tmp/calib/flash01.json', #'/tmp/calib/nolight01.png', '/tmp/calib/nolight01.jpg', '/tmp/calib/nolight01.json' ] res = send_files(filelist, post_data={ "cmd": "calcamera", "sice": 160, "zoom": ZOOM }) if res: return res print("det gik skidt", res) return '{ "result": "false"}'