날카롭지 않은 unsharp 영상(=블러링된 영상)을 이용하여 날카로운 영상을 생성
원본 영상에서 블러링된 영상을 빼주면 날카로운 부분이남게 되고, 이를 원본 영상에 더해주면 날카로운 영상을 얻을 수 있다.
sharpness 조절을 위한 가중치를 부여할 수 있다.
(3, 3) 사이즈의 블러링 필터를 이용할 경우 아래와 같이 언샤프 마스크 필터를 만들게 된다.
OpenCV에서 샤프닝을 위한 별도 함수를 제공하지 않기 때문에 blur()
나 GaussianBlur()
를 이용한다.
Mat src = imread("rose.bmp", IMREAD_GRAYSCALE);
Mat blr;
blur(src, blr, Size(3, 3));
Mat dst = 2 * src - blr;
Mat src = imread("rose.bmp", IMREAD_GRAYSCALE);
Mat blr;
GaussianBlur(src, blr, Size(), 1.0);
Mat dst = 2 * src - blr;
적용 결과
📙강의 - 강사 황선규