

This tutorial guides you how to build a deep learning project to colorize black and white images. Img = ImageTk.PhotoImage(Image.open("logo2.png")) Self.image3 = _image((w / 2, h / 2), image=self.render3) Self.image = _image((w / 2, h/2), image=self.render) Self.image2 = _image((w / 2, h / 2), image=self.render2)Ĭaffe_net.setInput(cv.dnn.blobFromImage(l_channel_resize)) Width, height = root.winfo_screenmmwidth(), root.winfo_screenheight() Self.image = _image((w / 2, h / 2), image=self.render) Width, height = root.winfo_width(), root.winfo_height() Load = load.resize((480, 360), Image.ANTIALIAS) (fill=tk.BOTH, expand=True)įilename = filedialog.askopenfilename(initialdir=os.getcwd()) Menu.add_cascade(label="File", menu=file) ("B&W Image Colorization")įile.add_command(label="Upload Image", command=self.uploadImage)įile.add_command(label="Color Image", command=lor)
#Colorize bw photo code
Paste the below code for image colorization interface.

Make a new python file gui.py in the present directory. python3 image_colorization.pyĪfter running the above python file, the colorized image will be saved in your working directory as result.png Now execute the deep learning project – run the python file with path of a grayscale image to test our results. Lab_output = np.concatenate((l_channel,ab_channel_us),axis=2)īgr_output = np.clip(cv.cvtColor(lab_output, cv.COLOR_Lab2BGR), 0, 1)Ĭv.imwrite("./result.png", (bgr_output*255).astype(np.uint8)) (original_height,original_width) = rgb_img.shapeĪb_channel_us = cv.resize(ab_channel, (original_width, original_height)) Predict the ab channel and save the result: Caffe_net.setInput(cv.dnn.blobFromImage(l_channel_resize))Īb_channel = Caffe_net.forward().transpose((1,2,0)) L_channel_resize = cv.resize(l_channel, (input_width, input_height))Ĩ. Lab_img = cv.cvtColor(rgb_img, cv.COLOR_RGB2Lab) Extract L channel and resize it: input_width = 224 Add layers to the caffe model: numpy_file = numpy_anspose().reshape(2, 313, 1, 1)Ĭaffe_net.getLayer(Caffe_net.getLayerId('class8_ab')).blobs = Ĭaffe_net.getLayer(Caffe_net.getLayerId('conv8_313_rh')).blobs =, 2.606, np.float32)]ħ. Numpy_file = np.load('./pts_in_hull.npy')Ĭaffe_net = cv.dnn.readNetFromCaffe("./models/colorization_deploy_v2.prototxt", "./models/colorization_release_v2.caffemodel")Ħ. Read B&W image and load the caffemodel: frame = cv.imread(“_test_image_path_”)

Create a python file image_colorization.py and paste the code specified in the below stepsĥ. models/colorization_release_v2.caffemodelģ.
#Colorize bw photo download
Open the terminal and run following commands to download the caffemodel, prototxt file and the NumPy file. The prototxt file defines the network and the numpy file stores the cluster center points in numpy format.ġ. Steps to implement Image Colorization Project:įor colorizing black and white images we will be using a pre-trained caffe model, a prototxt file, and a NumPy file. The neural net is trained with the L channel of images as input data and a,b channels as target data. In this deep learning project, we will use OpenCV DNN architecture which is trained on ImageNet dataset. We can formulate our problem statement as to predict a and b channels, given an input grayscale image. Therefore Lab color space is more favorable for our project. In this color space, the grayscale part of the image is only encoded in L channel.

Keeping you updated with latest technology trends, Join TechVidvan on Telegram Deep Learning Project – Colorize Black & White Images with Python Lab Color Space:
