본문 바로가기
SEO's Study/프로페셔널한 이야기

이미지 RESIZE를 수행해보자!!

by 신SEO세오 2024. 4. 21.
반응형

이미지 기반의 학습을 수행할 때,
입력 이미지의 사이즈가 달라서 고민해보신분?

그 고민을 해결하기 위해 RESIZE 방법을 들고왔어요
OpenCV의 resize이고, 명령어는 다음과 같아요!

(import cv2는 필수인거 아시죠?)

사이즈를 변경하는 방법은 크게 어렵지않아요
보이시는 것처럼 한줄로 모든 걸 정리 할 수 있답니다?

실제로 한 번 적용해 볼까요?😊😊


보이시는 사진은 이미지 크기가 같아보이지만
사실은 왼쪽이 원본, 오른쪽은 Resize된 이미지에요

x, y 좌표를 보시면 200x200에서 100x100으로 줄어든 것이 보이시나요??

코드로는 얼만큼 Resize되었는지 명확히 볼 수 있어요
x 105, y 110으로 사이즈가 변경되었네요

그리고 우리 명령어에 적지않은 옵션이 있죠?
바로 interpolation
저는 작성하지 않았지만 사실 적용 되어있습니다!!

반응형


이 옵션은 이미지를 축소, 확대, 회전 등 변형을 넣을 때
이미지를 수정하는 과정에서 얼만큼의 범위를
참조해서 이미지를 재생산할 것이냐! 인데요


주로 사용되는 것은 LINEAR로,
이 값이 디폴트 값으로 지정되어있답니다~~


1. 최근방이웃 보간법 > INTER_NEAREST
기준점과 가장 가까운 영역의 픽셀 값을 참조하여 interpolation 중 가장 빠른 성능을 보이는 방법이지만 퀄리티의 문제가 있음. 때문에 거의 사용되지 않는 기법..

2. 양선형 보간법 > INTER_LINEAR
양선형 보간법은 resize 기법의 Default interpolation주변 4개의 픽셀을 참조하여 기준값을 찾아내는 방법!
속도도 빠르면서 최근방이웃 보간법보다 훨씬 좋은 성능을 보이기 때문에 가성비 좋은 기법☺️

3. 3차회선 보간법 > INTER_CUBIC
주변 16개의 픽셀을 참조하여 기준값을 찾는 방법! 양선형 보간법보다 시간은 조금 더 오래 걸리지만 그만큼 더 좋은 성능을 제공

4. Lanczos 보간법 > INTER_LANCZOS4
주변 64개의 픽셀을 참조하여 기준값을 찾는 방법!! 3차회선 보간법과 마찬가지로 참조하는 픽셀이 많아질수록 시간은 오래걸리고 성능은 좋아짐

5. 영역 보간법 > INTER_AREA
영역적인 정보를 추출하여 값을 찾으므로 확대보다는 영상 축소에 조금 더 효과적인 기법~ 확대를 할 경우에는 최근방이웃 보간법과 유사한 성능을 보인다!

확대 축소에 효과가 좋은 방법으로는
LINEAR와 CUBIC 그리고 AREA를 추천드릴게용


↓ ↓ 자세한 오피셜은 여기로 ↓ ↓
https://www.tutorialkart.com/opencv/python/opencv-python-resize-image/


반응형

댓글