이미지 기반의 학습을 수행할 때,
입력 이미지의 사이즈가 달라서 고민해보신분?
그 고민을 해결하기 위해 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/
'SEO's Study > 프로페셔널한 이야기' 카테고리의 다른 글
미키마우스 저작권이 만료되었다! (83) | 2024.01.04 |
---|---|
docker hub에 이미지 푸시가 안될 때 해결 방법 (22) | 2023.08.03 |
[LINUX] 관리자/일반계정 su 권한 할당하는 방법 (23) | 2023.07.29 |
[LINUX] SSH Protocol은 무엇일까? (28) | 2023.07.25 |
[LINUX] tar와 tar.gz의 차이점과 사용방법 (0) | 2023.07.19 |
댓글