https://dic1224.blog.me/220841161411 참고했습니다.
https://dic1224.blog.me/220841171866 참고했습니다.
opencv 에 resize 함수를 Bilinear interpolation 으로 구현했습니다.
1과 2를 누르면 그림의 가로 세로가 1.1 만큼 커지거나 줄어들어서 보여지게 됩니다.
기본 원리는 기존 사진과 rate 만큼 크기가 변화한 사진이 있다면, 변화환 사진의 픽셀을 그 길이 만큼 참조하도록 움직입니다. 그리고 움직인 (y,x)를 rate로 나눠서 대응되는 픽셀을 찾고 그 픽셀의 주변 3개의 픽셀을 찾아서 채워야되는 픽셀과의 거리 비율만큼 4개의 픽셀의 값을 곱한 뒤 더해주는 방식입니다.
전체 코드입니다.
P1에 fx1이 아닌 fx2를 곱해주는 이유는 P1과 P2와 fx1과 fx2의 비율은 같다라는 비례식을 세우고 외항과 내항의 곱은 같다는 특성을 사용하면 알 수 있습니다.
실행 화면입니다.
'공부' 카테고리의 다른 글
영상처리 opencv hit-or-miss (2) | 2019.11.27 |
---|---|
영상처리 opencv Histogram equalization (0) | 2019.10.16 |
셀레니움 - 구글 번역기 사용하기 (0) | 2019.03.22 |
텐서플로우 사용한 2개의 층을 가진 CNN 입니다. (0) | 2019.01.15 |
파이썬3 google smtp 메일 보내기 입니다. (0) | 2019.01.15 |