viveknarayan's picture
Update app.py
6d0b349
raw
history blame
2.14 kB
import numpy as np
pip install cv2
import cv2
import tensorflow as tf
from tensorflow import keras
from PIL import Image, ImageOps
net = cv2.dnn.readNetFromCaffe('colorization_deploy_v2.prototxt','drive/MyDrive/Lab2market2023/colorization_release_v2.caffemodel')
pts = np.load('pts_in_hull.npy')
class8 = net.getLayerId("class8_ab")
conv8 = net.getLayerId("conv8_313_rh")
pts = pts.transpose().reshape(2,313,1,1)
net.getLayer(class8).blobs = [pts.astype("float32")]
net.getLayer(conv8).blobs = [np.full([1,313],2.606,dtype='float32')]
def infer(original_image):
#image = cv2.imread('bw.jpg')
image = keras.preprocessing.image.img_to_array(original_image)
scaled = image.astype("float32")/255.0
lab = cv2.cvtColor(scaled,cv2.COLOR_BGR2LAB)
#cv2.imshow("image",lab)
resized = cv2.resize(lab,(224,224))
L = cv2.split(resized)[0]
L -= 50
net.setInput(cv2.dnn.blobFromImage(L))
ab = net.forward()[0, :, :, :].transpose((1,2,0))
ab = cv2.resize(ab, (image.shape[1],image.shape[0]))
L = cv2.split(lab)[0]
colorized = np.concatenate((L[:,:,np.newaxis], ab), axis=2)
colorized = cv2.cvtColor(colorized,cv2.COLOR_LAB2BGR)
colorized = np.clip(colorized,0,1)
colorized = (255 * colorized).astype("uint8")
cv2_imshow(image)
cv2_imshow(colorized)
color_coverted = cv2.cvtColor(colorized, cv2.COLOR_BGR2RGB)
colorized = Image.fromarray(color_coverted)
return colorized
cv2.waitKey(0)
import gradio as gr
examples=['bw.jpg','blw.jpg','boy.jpg']
iface = gr.Interface(
fn=infer,
title="Colourization",
description = "OpenCV implementation of Colorful Image Colorization paper presented in ECCV, 2016. πŸŒ†πŸŽ†",
inputs=[gr.inputs.Image(label="image", type="pil")],
outputs="image",
examples=examples,
cache_examples=True,
article = "Authors: <a href=\"https://github.com/Uviveknarayan\">Vivek Narayan</a>, <a href=\"https://github.com/chiranjan-7\">Chiranjan</a>,<a href=\"https://github.com/GangaSrujan\">Srujan</a>,<a href=\"https://github.com/RohanPawar3399\">Rohan Pawar</a>,<a href=\"https://github.com/pavankarthik77\">Pavan Karthik</a>").launch(enable_queue=True)