Spaces:
Running
Running
File size: 2,050 Bytes
dc4014d ccea513 dc4014d 1f644ab dc4014d 9745f92 ccea513 4f3074a dc4014d ccea513 dc4014d ccea513 dc4014d 4f3074a ccea513 dc4014d 4f3074a dc4014d ccea513 b04dd16 ccea513 2c032a1 ccea513 dc4014d 31c3a55 9745f92 31c3a55 dc4014d db5f9ea ccea513 46f83dd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
import gradio as gr
from utils import *
import cv2
import numpy as np
import matplotlib.pyplot as plt
import io
def inference(img_path, template, angle):
color_image = cv2.imread(img_path, cv2.IMREAD_COLOR)
HSV_image = cv2.cvtColor(color_image, cv2.COLOR_BGR2HSV)
selected_harmomic_scheme = HarmonicScheme(str(template), int(angle))
new_HSV_image = selected_harmomic_scheme.hue_shifted(HSV_image, num_superpixels=-1)
# Convert HSV to BGR
result_image = cv2.cvtColor(new_HSV_image, cv2.COLOR_HSV2BGR)
# Compute shifted histogram
histo_1 = count_hue_histogram(HSV_image)
histo_2 = count_hue_histogram(new_HSV_image)
# Create Hue Plots
fig1 = plothis(histo_1, selected_harmomic_scheme, "Source Hue")
fig_1_cv = get_img_from_fig(fig1)
fig2 = plothis(histo_2, selected_harmomic_scheme, "Target Hue")
fig_2_cv = get_img_from_fig(fig2)
hue_plots = np.concatenate((fig_1_cv, fig_2_cv), axis=1)
cv2.imwrite('hue.jpg', hue_plots)
cv2.imwrite('result_image.jpg', result_image)
return ['result_image.jpg', 'hue.jpg']
title = 'Color Harmonization'
description = 'Compute Color Harmonization with different templates based on Color Harmonization paper by Daniel Cohen-Or et al. More metrics for user interfaces on https://interfacemetrics.aalto.fi'
article = "<p style='text-align: center'></p>"
examples = [['./examples/aim_interface.png', "V", 25], ['./examples/esfahan_unsplash.jpeg', "I", 352]]
# css = ".output_image, .input_image {height: 40rem !important; width: 100% !important;}"
gr.Interface(
inference,
[gr.Image(type='filepath', label='Original Image'),
gr.Dropdown(choices=["X", "Y", "T", "I", "mirror_L", "L", "V", "i"],
value="X",
label="Template"),
gr.Slider(0, 359, label="Angle")],
[gr.Image(type='filepath', label='Harmonized Image'),
gr.Image(type='filepath', label='Hue')],
title=title,
description=description,
article=article,
examples=examples,
# css=css,
).launch(debug=False)
|