3.6 샤프닝 공간 필터
3.6.1 기초
샤프닝은 sharp transition을 강하게 하는 것이다.
평균화는 영상 블러링 효과가 있음을 앞 장에서 확인했다. 이 연산은 적분과 비슷하다. 따라서 샤프닝 은 미분에 의해 처리될 수 있다.
영상 미분은 edge 및 다른 불연속 성분을 강조하고 밝기가 서서히 변하는 영역들을 무시한다.
- 1차 미분 정의의 조건
- 일정한 밝기 영역에서는 0이다.
- 밝기 계단이나 비탈의 시작에서는 0이 아니다.
- 비탈을 따르는 영역도 0이 아니다.
- 2차 미분 정의의 조건
- 일정 영역에서 0이다.
- 밝기 계단, 비탈의 시작과 끝은 0이 아니다.
- 일정 기울기의 비탈을 따라서는 0이다.
편미분을 사용한 것은 변수가 2개가 되었을 때와 똑같이 표기하기 위함이다.
3.6.2 Laplacian
등방성 필터란 영상을 회전시킨 후 필터를 적용하는 것과 필터를 적용하고나서 영상을 회전시키는 것이 똑같다는 부분에서 회전 불변적이다.
가장 간단한 등방성 미분 연산자가 Laplacian이다.
- 증명
x와 y에 대해서 각각 미분을 적용한다.
위 세 개의 식으로부터 두 변수의 이산 Laplacian은 다음과 같다.
그림에서 좌측에 있는 필터의 경우, 90도 회전에 대한 등방성 결과를 갖는다. 우측은 45도 회전에 대한 등방성 결과를 갖는다. 상단과 하단의 필터는 부호의 차이가 있다.
이는 등가적 결과를 제공하지만 필터링 된 영상을 다른 영상과 결합시킬 때, 부호의 차이를 알고 있어야한다.
Laplacian은 영상의 밝기 불연속 성분을 돋보이게 하기 때문에 서서히 변하는 레벨의 영역은 경시한다. 이로 인해 어둡고 특징없는 배경에 회색 엣지 선들 및 다른 불연속들을 갖는 영상을 만들게 된다.
cat = cv2.imread('/content/cat.jpg')
cat = cv2.resize(cat, (320,320))
lapla = cv2.cvtColor(cat, cv2.COLOR_BGR2GRAY)
lap = cv2.Laplacian(lapla,ddepth=cv2.CV_8U, ksize=3)
cv2_imshow(lap)
위 처럼 만들어진 Laplacian영상을 원래 영상에 더해서 샤프닝 효과를 보이면서 배경의 특징들을 복구할 수 있다. 만약 laplacian 필터의 중앙 계수가 음수라면 원본 영상과 결합시킬때 더하지 않고 빼야한다.
g는 샤프닝된 영상이며, f는 원본영상이다. c는 필터의 중앙 계수가 음수이면 c=-1이고, 양수이면 c=1이다.
lap = np.reshape(lap, (320,320,1))
g = cat[:,:,:]+lap
cv2_imshow(g)
Uploaded by Notion2Tistory v1.0.0