크기 조정
이미지
- 고정 크기로 설정
1
2
3
4
5
6
7
8
9
10
11
import cv2
img = cv2.imread('C:/Users/USER/Desktop/img.jpg')
# 이미지 크기 변경(width, height)
dst = cv2.resize(img, (400, 500))
cv2.imshow('img', img) # 원본 이미지
cv2.imshow('resize', dst) # 크기 변경한 이미지
cv2.waitKey(0)
cv2.destroyAllWindows()
- 비율로 설정
1
2
3
4
5
6
7
8
9
10
11
import cv2
img = cv2.imread('C:/Users/USER/Desktop/img.jpg')
# 이미지 크기 변경 (0.5배) -> x, y 비율 정의
dst = cv2.resize(img, None, fx=0.5, fy=0.5)
cv2.imshow('img', img) # 원본 이미지
cv2.imshow('resize', dst) # 크기 변경한 이미지
cv2.waitKey(0)
cv2.destroyAllWindows()
보간법
cv2.INTER_AREA
: 크기 줄일 때 사용cv2.INTER_CUBIC
: 크기 늘릴 때 사용 (속도 느림, 퀄리티 좋음)cv2.INTER_LINEAR
: 크기 늘리 때 사용 (기본값)
1
2
3
4
5
6
7
8
9
10
11
import cv2
img = cv2.imread('C:/Users/USER/Desktop/img.jpg')
# 이미지 크기 변경 (0.5배) -> x, y 비율 정의
dst = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC)
cv2.imshow('img', img) # 원본 이미지
cv2.imshow('resize', dst) # 크기 변경한 이미지
cv2.waitKey(0)
cv2.destroyAllWindows()
동영상
- 고정 크기로 설정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import cv2
cap = cv2.VideoCapture('C:/Users/USER/Desktop/video.mp4')
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
# 동영상 frame 크기 변경
frame_resized = cv2.resize(frame, (400, 500))
cv2.imshow('video', frame_resized)
if cv2.waitKey(1) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
- 비율로 설정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import cv2
cap = cv2.VideoCapture('C:/Users/USER/Desktop/video.mp4')
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
# 동영상 frame 크기 변경
frame_resized = dst = cv2.resize(frame, None, fx=1.5, fy=1.5, interpolation=cv2.INTER_CUBIC)
cv2.imshow('video', frame_resized)
if cv2.waitKey(1) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()