Python OpenCV 강좌 : 제 8강 - 크기 조절

   

크기 조절 (Resize)


1 영상이나 이미지의 크기를 원하는 크기로 조절할 수 있습니다.



Main Code


import cv2

src = cv2.imread("Image/champagne.jpg", cv2.IMREAD_COLOR)

dst = cv2.resize(src, dsize=(640, 480), interpolation=cv2.INTER_AREA)
dst2 = cv2.resize(src, dsize=(0, 0), fx=0.3, fy=0.7, interpolation=cv2.INTER_LINEAR)

cv2.imshow("src", src)
cv2.imshow("dst", dst)
cv2.imshow("dst2", dst2)
cv2.waitKey(0)
cv2.destroyAllWindows()



Detailed Code


dst = cv2.resize(src, dsize=(640, 480), interpolation=cv2.INTER_AREA)

cv2.resize(원본 이미지, 결과 이미지 크기, 보간법)로 이미지의 크기를 조절할 수 있습니다.

결과 이미지 크기Tuple형을 사용하며, (너비, 높이)를 의미합니다. 설정된 이미지 크기로 변경합니다.

보간법은 이미지의 크기를 변경하는 경우, 변형된 이미지의 픽셀은 추정해서 값을 할당해야합니다.

보간법을 이용하여 픽셀들의 값을 할당합니다.



dst2 = cv2.resize(src, dsize=(0, 0), fx=0.3, fy=0.7, interpolation=cv2.INTER_LINEAR)

cv2.resize(원본 이미지, dsize=(0, 0), 가로비, 세로비, 보간법)로 이미지의 크기를 조절할 수 있습니다.

결과 이미지 크기(0, 0)으로 크기를 설정하지 않은 경우, fxfy를 이용하여 이미지의 비율을 조절할 수 있습니다.

fx0.3인 경우, 원본 이미지 너비의 0.3배로 변경됩니다.

fy0.7인 경우, 원본 이미지 높이의 0.7배로 변경됩니다.


  • Tip : 결과 이미지 크기가로비, 세로비가 모두 설정된 경우, 결과 이미지 크기의 값으로 이미지의 크기가 조절됩니다.



Additional Information


interpolation 속성

속성의미
cv2.INTER_NEAREST이웃 보간법
cv2.INTER_LINEAR쌍 선형 보간법
cv2.INTER_LINEAR_EXACT비트 쌍 선형 보간법
cv2.INTER_CUBIC바이큐빅 보간법
cv2.INTER_AREA영역 보간법
cv2.INTER_LANCZOS4Lanczos 보간법


기본적으로 쌍 선형 보간법이 가장 많이 사용됩니다.

이미지를 확대하는 경우, 바이큐빅 보간법이나 쌍 선형 보간법을 가장 많이 사용합니다.

이미지를 축소하는 경우, 영역 보간법을 가장 많이 사용합니다.

영역 보간법에서 이미지를 확대하는 경우, 이웃 보간법과 비슷한 결과를 반환합니다.



Result


2



도움이 되셨다면 광고 클릭 부탁드립니다.

⤧  Next post Python OpenCV 강좌 : 제 9강 - 자르기 ⤧  Previous post Python OpenCV 강좌 : 제 7강 - 확대 & 축소