728x90
검색을 해보다가, 알게 된 내용으로 각 라이브러리 별로 Resize를 하는데도 차이가 존재한다는 것을 알게 되었다.
1. PIL vs OpenCV 간 BICUBIC 차이
Case 2를 보면 같은 이미지를 PIL, OpenCV 방식으로 불러왔는데 완벽히 같지 않다는 내용을 볼 수 있다.
그리고, 이에 대해 비슷하게 누군가가 실험한 예시이다.
2번째 행에서 왼쪽이 OpenCV, 오른쪽이 PIL을 이용한 예시인데,
3x3 픽셀의 좌측 하단과 우측하단을 보면
OpenCV의 경우 전반적으로 더 밝고, PIL의 경우 더 어둡다.
아래는 PIL과 Matlab으로 resize를 진행헀을 때의 차이값으로 생각보다 많은 픽셀값들이 다름을 확인할 수 있다.
게다가 매우 중요한 건 Super Resolution같은 세밀함을 다루는 분야에서는
이런 라이브러리의 차이로 인해 성능 차이가 나기도 하고, 엉뚱한 결과가 나올 수도 있다는 점이다.
2. OpenCV vs matlab 간 BICUBIC 차이
Bicubic 알고리즘은 보통 인접한 4x4 영역을 기반으로 보간(interpolation)을 진행하는데,
OpenCV와 Matlab의 핵심 차이는 Bicubic 연산 시에 쓰이는 상수값이 다르다는 것이다.
Matlab의 경우는 -0.5, OpenCV는 -0.75를 사용하기 때문에 작은 차이로 인해 이미지가 달라진다.
참고 :
728x90
'Framework > OpenCV' 카테고리의 다른 글
[3D LUT] 에 대해 이해한 내용 적어보기 (0) | 2023.08.14 |
---|---|
[OpenCV] C++ Mat 채널 변경 (permute, transpose) (0) | 2021.12.08 |
OpenCV 3.x 4.x 차이 (0) | 2021.11.19 |
VIDEOIO(CV_IMAGES): raised OpenCV exception 에러 (0) | 2021.08.25 |
ImportError: libGL.so.1: cannot open shared object file: No such file or directory (0) | 2021.07.30 |