OpenCV
[OpenCV with Python] Filtering : Noise 제거 - 양방향 필터 Bilateral Filter
가우시안 잡음 제거에는 가우시안 필터가 효과적이다 이처럼 잡음이 있는 지글지글한 부분을 가우시안 필터로 완만하게 수정할 수 있다. 하지만 가우시안 블러를 심하게 적용하면 영상에 있는 엣지 부분에 훼손이 생긴다. 이 단점을 보완한 것이 양방향 필터(Bilateral Filter)이다. 양방향 필터 Bilateral filter 가우시안 필터를 양쪽 방향으로 두번 한다고해서 양방향이라는이름이 붙여졌다. 평균 값 필터 또는 가우시안 필터는 엣지 부근에서도 픽셀 값을 평탄하게 만드는 단점이 있다. 양방향 필터는 기준 픽셀과 이웃 픽셀과의 거리, 그리고 픽셀 값의 차이를 함께 고려하여 블러링 정도를 조절한다. 수식을 보면 가우시안 필터 함수(G)가 2개 있는 것을 볼 수 있다. 양방향 필터의 작동 원리 양방향 필..
[OpenCV with Python] Filtering : Noise 제거 - Median Filter
영상의 잡음 영상의 잡음(Noisr)는 영상의 픽셀 값에 추가되는 원치 않는 형태의 신호를 의미한다 여기서 f(x,y)는 획득된 영상, s(x,y)는 원본 신호, n(x,y)는 잡음을 의미한다. 대부분의 경우 센서에서 잡음이 추가된다. 잡음의 종류 1. 가우시안 잡음(Gaussian noise) 대부분의 잡음 형태는 가우시안 형태이다. 잡음이 가우시한 형태로 추가되는데, 픽셀값에서 조금 더 어두워지거나 밝아지게 된다. 2. 소금$후추 잡음(Salt&Pepper) 요즘 소금 후추 잡음은 거의 없다. 잡음 제거 - 미디언 필터 Median Filter 미디언 필터(Median filter)는 주변 픽셀들의 값들을 정렬하여 그 중앙값(median)으로 픽셀 값을 대체하는 방법이다. 소금-후추 잡음 제거에 효과..
[OpenCV with Python] Filtering : 영상에 샤프닝 적용 - Unsharp Mask
영상에 샤프닝을 적용하기 위해 언샤프 마스크가 필요하다. 언샤프 마스크 필터링(Unsharp Mask Filtering)은 날카롭지 않은(unsharp) 영상, 즉 부드러워진 영상을 이용하여 날카로운 영상을 생성한다. 언샤프 마스크 필터 Unsharp Mask Filtering 언샤프 마스크 필터는 기존 영상의 픽셀 + (기존 영상의 픽셀 - 가우시안 필터링으로 블러가 적용된 영상의 픽셀) 로 만들 수 있다. - 기존 영상의 픽셀에서 픽셀 값이 변화하는 구간 - 가우시안 필터가 적용된 픽셀 값 - 기존 영상의 픽셀 - 가우시안 필터가 적용된 픽셀 값 ➡️ 위 사진을 기존 영상의 픽셀에 더해주면 언샤프 마스크 필터가 된다. ✔︎ 언샤프 마스크 필터 구현 - np.clip np.clip 함수로 언샤프 마스크..
[OpenCV with Python] Filtering : Blurring - 가우시안 필터 Gaussian Filter
앞에서 알아본 평균 값 필터 블러링의 단점은 필터링 대상 위치에서 가까이 있는 픽셀과 멀리 있는 픽셀이 모두 같은 가중치를 사용하여 평균을 계산한다. 멀리 있는 픽셀의 영향을 많이 받아 필터 결과의 퀄리티가 낮아지게 된다. 이러한 단점을 보완하기 위해 가우시안 필터(Gaussian Filter)를 많이 사용한다. 가우시안 필터 Gaussian Fillter 📍 Gaussian Function 가우시안 함수 - 1차원 가우시안 함수는 μ가 평균(mean or average), σ는 표준 편차(standard deviation)인 정규 분포(normal distribution)와 동일하다. 가우시안 함수의 특징으로 기댓값, 최빈값, 중앙값이 모두 같다. 정규분포곡선은 좌우 대칭이며 종 모양을 한다. 정규분포..