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
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 ])
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])
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 ])
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
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)
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])