Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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>')
Ejemplo n.º 5
0
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')
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
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')
Ejemplo n.º 8
0
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')
Ejemplo n.º 9
0
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)
Ejemplo n.º 10
0
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')
Ejemplo n.º 11
0
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')
Ejemplo n.º 12
0
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"}'