import cv2
import numpy as np
net = cv2.dnn.readNetFromTorch('models/instance_norm/starry_night.t7')
net2 = cv2.dnn.readNetFromTorch('models/instance_norm/the_scream.t7')
img = cv2.imread('imgs/hw.jpg')
h, w, c = img.shape
img = cv2.resize(img, dsize=(500, int(h / w * 500)))
crop_img = img [55:140,190:315]
MEAN_VALUE = [103.939, 116.779, 123.680] # 전처리기법
blob = cv2.dnn.blobFromImage(crop_img, mean=MEAN_VALUE) #전처리 과정 실행
print(blob.shape)
net.setInput(blob) # 입력데이터 설정
output = net.forward() # forward연산을 수행
output = output.squeeze().transpose((1, 2, 0))
output += MEAN_VALUE # 전처리과정실행
output = np.clip(output, 0, 255) #배열의갑을 0이랑 255사이범위로 제한
output = output.astype('uint8')# 데이터 타입변경
net2.setInput(blob)
output2 = net2.forward()
output2 = output2.squeeze().transpose((1, 2, 0))
output2 += MEAN_VALUE
output2 = np.clip(output2, 0, 255)
output2 = output2.astype('uint8')
output = output[0:44,:] #이미지 자르기
output2 = output2[44:,:]
output3=np.concatenate((output, output2), axis=0) #배열을 세로모양으로 합치기
img[55:143,190:318] = output3
cv2.imshow('img', img)
cv2.waitKey(0)
결과물
'내일배움 캠프 > TIL' 카테고리의 다른 글
구글이 좋아~ (0) | 2023.05.19 |
---|---|
코딩테스트 연습성격 유형 검사하기 (2) | 2023.05.18 |
2023 05 16 javascript export import (0) | 2023.05.18 |
2023 0515 팀프로젝트 회고 (0) | 2023.05.15 |
display:none 이란(사실아님) (2) | 2023.05.15 |