import cv2
cap = cv2.VideoCapture('04.mp4')
# cap = cv2.VideoCapture(0) # 웹캠 실행
while True:
ret, img = cap.read() # 무수한 이미지 프레임의 연결이 영상임, 프레임을 읽겠다
if ret == False: # 읽을 프레임이 없다면 루프 종료
break
cv2.imshow('result', img)
if cv2.waitKey(1) == ord('q'):
break
import cv2
import numpy as np
net = cv2.dnn.readNetFromTorch('models/eccv16/starry_night.t7')
img = cv2.imread('imgs/01.jpeg')
h, w, c = img.shape
img = cv2.resize(img, dsize=(500, int(h / w * 500))) # 이미지 비율을 유지하기 위해 비례식을 씀
print(img.shape)
MEAN_VALUE = [103.939, 116.779, 123.680]
blob = cv2.dnn.blobFromImage(img, mean=MEAN_VALUE) # 전처리 함수
print(blob.shape)
net.setInput(blob) # 전처리 결과를 input에 넣음
output = net.forward() # output으로 확인
# 후처리
output = output.squeeze().transpose((1, 2, 0)) # 차원을 다시 줄이고 변형한 것을 돌려 놓음
output += MEAN_VALUE # 전처리에서 뺐던 평균값을 다시 더해 줌
output = np.clip(output, 0, 255) # 평균값을 다시 돌렸을 때 255를 넘지 않게 제한함
output = output.astype('uint8') # 값을 정수타입으로 변경 = 이미지로 보이게 함
cv2.imshow('output', output)
cv2.imshow('img', img)
cv2.waitKey(0)
File "/~.py", line 4, in
net = cv2.dnn.readNetFromTorch('models/eccv16/starry_night.t7')
cv2.error: OpenCV(4.6.0) /Users/xperience/actions-runner/_work/opencv-python/opencv-python/opencv/modules/dnn/src/torch/THDiskFile.cpp:496: error: (-2:Unspecified error) cannot open <models/eccv16/starry_night.t7> in mode r in function 'THDiskFile_new'