딥러닝 모델가지고 놀기

kinghong97·2022년 7월 19일
0
import cv2
import numpy as np

net = cv2.dnn.readNetFromTorch('models/eccv16/starry_night.t7')  # 모델 읽어오기

img = cv2.imread('imgs/01.jpg')

h, w, c = img.shape

img = cv2.resize(img, dsize=(500, int(h / w * 500)))  # 가로 500에 비율 맞춰서 리사이즈

MEAN_VALUE = [103.939, 116.779, 123.680]  # 가장 성능이 좋은 값
blob = cv2.dnn.blobFromImage(img, mean=MEAN_VALUE)  # 전처리 하는데 좋음 차원 변형을 해줌 차원 늘림 여기까지가 전처리

net.setInput(blob)  # 전처리 결과를 인풋으로 지정
output = net.forward()  # 추론 끝 컴퓨터만 이해할수있음 여기는

output = output.squeeze().transpose((1, 2, 0))  # 후처리 코드 시작 인간이 이해할 수 있게 바꾸기 차원 줄임, 차원 변형 거꾸로 해주기
output += MEAN_VALUE  # 위에서 meanvalue 빼준거 더해주기

output = np.clip(output, 0, 255)  # meanvalue 더해주면 가끔씩 255를 초과하는 경우가 생겨서 제한해주기
output = output.astype('uint8')  # 정수형태로 바뀌면서 사람이 볼수있게 바뀜
np.concatenate([output, output2], axis=1)  # 사진 합치기 axis 1은 x방향으로 합치기

0개의 댓글