컴퓨터비전 및 그래픽스 실습 6주차
!mkdir models img
# 이미지
!wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1SGVNbOjBoitZw5nHHJQ5A3LL3uDqeznA' -O ./img/sample01.jpg
!wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=11dlWfIkDRnJ0BfojfBYbhS9q3Fl2TT1q' -O ./img/sample02.jpg
!wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1U_StuW-A0dgtmzAoY4tOYHrSj5xROJms' -O ./img/sample03.jpg
!wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1uD0u_9kG_gCI5pq8FBa8W6kmjQjYk1vn' -O ./img/sample04.jpg
!wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1mQdvtEW2pwVslQ7bZb3OLtrr-LzA0cVa' -O ./img/sample05.jpg
!wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1DWOZBgxhIgRIxxUAVTic2bB3-VUrwtPu' -O ./img/sample06.jpg
# 모델
!gdown --id 1mLB3UZ0hgVPXguPRedHtb1UWAy2nlUyF --output ./models/pts_in_hull.npy
!gdown --id 16nCigXxDjH7KKyZxJ-KvE-Zlv79ZO-mz --output ./models/colorization_deploy.prototxt
!gdown --id 1PgvjpEId1mlX7i4MqNfsJeoiB1rJfxJ3 --output ./models/colorization_release.caffemodel
import cv2
import numpy as np
import matplotlib.pyplot as plt
proto = './models/colorization_deploy.prototxt'
weight = './models/colorization_release.caffemodel'
pts_in_hull = np.load('./models/pts_in_hull.npy')
pts_in_hull = pts_in_hull.transpose().reshape(2, 313, 1, 1).astype(np.float32)
net = cv2.dnn.readNetFromCaffe(proto, weight)
net.getLayer(net.getLayerId('class8_ab')).blobs = [pts_in_hull]
net.getLayer(net.getLayerId('conv8_313_rh')).blobs = [np.full((1, 313),
2.606,
np.float32)]
## 전처리
img_path = './img/sample05.jpg'
img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
img_input = img.copy()
## convert GRAY to BGR
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
img_rgb = img.copy()
## nomalize input
img_rgb = (img_rgb / 255.).astype(np.float32)
## extract Lightness
img_lab = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2LAB)
img_l = img_lab[:, :, 0]
input_img = cv2.resize(img_l, (224, 224))
input_img -= 50
plt.axis('off')
plt.imshow(input_img, cmap='gray')