Ejemplo n.º 1
0
def process_image(input_path, output_path, render_factor):
    try:
        try:
            image_colorizer.plot_transformed_image(path=input_path,
                                                   figsize=(20, 20),
                                                   render_factor=render_factor,
                                                   display_render_factor=True,
                                                   compare=False)
        except:
            convertToJPG(input_path)
            image_colorizer.plot_transformed_image(path=input_path,
                                                   figsize=(20, 20),
                                                   render_factor=render_factor,
                                                   display_render_factor=True,
                                                   compare=False)

        callback = send_file(output_path,
                             as_attachment=True,
                             mimetype='image/jpeg')

        return callback, 200

    except:
        traceback.print_exc()
        return {'message': 'input error'}, 400
Ejemplo n.º 2
0
def process_image():
    input_path = generate_random_filename(upload_directory,"jpeg")
    output_path = os.path.join(results_img_directory, os.path.basename(input_path))

    try:
        url = request.json["source_url"]
        render_factor = 35 #int(request.json["render_factor"])

        download(url, input_path)
        
        try:
            image_colorizer.plot_transformed_image(path=input_path, figsize=(20,20),
            render_factor=render_factor, display_render_factor=True, compare=False)
        except:
            convertToJPG(input_path)
            image_colorizer.plot_transformed_image(path=input_path, figsize=(20,20),
            render_factor=render_factor, display_render_factor=True, compare=False)

        callback = send_file(output_path, mimetype='image/jpeg')
        
        return callback, 200

    except DownloadPrecheckFailed as e:
        return jsonify({'message': str(e)}), 400
    except:
        traceback.print_exc()
        return jsonify({'message': 'inference error'}), 500

    finally:
        pass
        clean_all([
            input_path,
            output_path
            ])
Ejemplo n.º 3
0
def process_image():

    input_path = generate_random_filename(upload_directory, "jpeg")
    output_path = os.path.join(results_img_directory,
                               os.path.basename(input_path))

    print(request.files)
    try:
        if 'file' in request.files:
            file = request.files['file']
            if allowed_file(file.filename):
                file.save(input_path)
            try:
                render_factor = request.form.getlist('render_factor')[0]
            except:
                render_factor = 30

        else:
            url = request.json["url"]
            download(url, input_path)

            try:
                render_factor = request.json["render_factor"]
            except:
                render_factor = 30

        try:
            image_colorizer.plot_transformed_image(
                path=input_path,
                out_path=output_path,
                figsize=(20, 20),
                render_factor=int(render_factor),
                display_render_factor=True,
                compare=False)
        except:
            convertToJPG(input_path)
            image_colorizer.plot_transformed_image(
                path=input_path,
                out_path=output_path,
                figsize=(20, 20),
                render_factor=int(render_factor),
                display_render_factor=True,
                compare=False)

        callback = send_file(output_path, mimetype='image/jpeg')

        return callback, 200

    except:
        traceback.print_exc()
        return {'message': 'input error'}, 400

    finally:
        pass
        clean_all([input_path, output_path])
Ejemplo n.º 4
0
def process_image():

    input_path = generate_random_filename(upload_directory,"jpeg")
    output_path = os.path.join(results_img_directory, os.path.basename(input_path))

    try:
        if 'file' in request.files:
            file = request.files['file']
            if allowed_file(file.filename):
                file.save(input_path)
            try:
                render_factor = request.form.getlist('render_factor')[0]
            except:
                render_factor = 30
            
        else:
            url = request.json["url"]
            download(url, input_path)

            try:
                render_factor = request.json["render_factor"]
            except:
                render_factor = 30

        result = None

        try:
            result = image_colorizer.get_transformed_image(input_path, render_factor=render_factor, post_process=True, watermarked=True)
        except:
            convertToJPG(input_path)
            result = image_colorizer.get_transformed_image(input_path, render_factor=render_factor, post_process=True, watermarked=True)
        finally:
            if result is not None:
                result.save(output_path, quality=95)
                result.close()

        callback = send_file(output_path, mimetype='image/jpeg')
        return callback, 200

    except:
        traceback.print_exc()
        return {'message': 'input error'}, 400

    finally:
        pass
        clean_all([
            input_path,
            output_path
            ])
Ejemplo n.º 5
0
def run(input_path):
    render_factor = 35

    try:
        image_colorizer.plot_transformed_image(path=input_path,
                                               figsize=(20, 20),
                                               render_factor=render_factor,
                                               display_render_factor=True,
                                               compare=False)
    except:
        convertToJPG(input_path)
        image_colorizer.plot_transformed_image(path=input_path,
                                               figsize=(20, 20),
                                               render_factor=render_factor,
                                               display_render_factor=True,
                                               compare=False)

    return True
Ejemplo n.º 6
0
def color(file_path, chat_id):
    # set input and outpu file path
    input_path = file_path
    output_path = os.path.join(results_img_directory,
                               os.path.basename(input_path))

    try:
        # try coloring with out converting the image
        logger.info("Coloring....")
        image_colorizer.plot_transformed_image(
            path=input_path,
            figsize=(20, 20),
            render_factor=int(render_factor),
            display_render_factor=True,
            compare=False)
    except:
        # if coloring failed, convert the image to JPG fromat and retry coloring
        logger.error("Coloring failed, converting image to JPG format.")
        convertToJPG(input_path)
        logger.info("Image converted, Coloring...")
        image_colorizer.plot_transformed_image(
            path=input_path,
            figsize=(20, 20),
            render_factor=int(render_factor),
            display_render_factor=True,
            compare=False)

    #Send the colorized image back to user
    logger.info("Reading image data")
    image_data = open(output_path, "rb")
    logger.info("Sending colorized photo back to user")
    bot.sendPhoto(chat_id, image_data)

    # Delete the original photo in order to save storage
    if os.path.exists(input_path):
        logger.info("Removing original photo from storage")
        os.remove(input_path)

    # Delete the colorized photo in order to save storage
    if os.path.exists(output_path):
        logger.info("Removing colorized photo from storage")
        os.remove(output_path)
Ejemplo n.º 7
0
def process_image():

    input_path = generate_random_filename(upload_directory, "jpeg")
    output_path = os.path.join(results_img_directory,
                               os.path.basename(input_path))

    try:
        url = request.json["source_url"]
        render_factor = int(request.json["render_factor"])

        download(url, input_path)

        try:
            image_colorizer.plot_transformed_image(path=input_path,
                                                   figsize=(20, 20),
                                                   render_factor=render_factor,
                                                   watermarked=False)
        except:
            convertToJPG(input_path)
            image_colorizer.plot_transformed_image(path=input_path,
                                                   figsize=(20, 20),
                                                   render_factor=render_factor,
                                                   watermarked=False)

        return_data = io.BytesIO()
        with open(output_path, 'rb') as fo:
            return_data.write(fo.read())

        return_data.seek(0)

        callback = send_file(return_data, mimetype='image/jpeg')

        return callback, 200

    except:
        traceback.print_exc()
        return {'message': 'input error'}, 400

    finally:
        pass
        clean_all([input_path, output_path])