Priceless

[OpenCV] 블러링과 샤프닝 본문

ComputerVision/OpenCV

[OpenCV] 블러링과 샤프닝

Hyun__ 2023. 10. 29. 23:31

평균 값 필터

주변 값들과의 평균 값

갯수 만큼 나눈 후 합한다

크기가 9인 필터의 경우 주변 9개 성분 값을 9씩 나누고 합한다

 

픽셀 별로 가중치를 조절할 필요가 있다

가우시안 필터

평균이 0이고 표준편차가 1인 정규 분포를 표준 정규 분포라고 함

 

가우시안 함수의 특징

mean: 평균

median: 중간값

mode: 최빈값

 

정규 분포는 세 가지 값이 같다

 

시그마 밖의 값은 0.3퍼센트 이내이다

 

모든 영역(-무한 ~ +무한)에 대한 적분 값은 1이다

 

시그마가 1일 때

x y 값에 대한 가우시안 필터 

가운데 값에 대한 대칭

모든 값의 합은 1이고, 가장자리의 값은 0에 가까우므로 0이 된다

size() 생성자를 지정하면 자동으로 생성되므로 보통 자동으로 사용한다

시그마 값을 크게 하면 많이 블러링된다

 

코드

 

언샤프 마스크 필터링

첫 번째 그래프는 원본 영상

두 번째 그래프가 블러링된 결과 영상

세 번째 그래프는 원본에서 블러링된 이미지의 차이, 날카로운 성분

네 번째 그래프는 원본 영상에 날카로운 성분을 추가

 

그 결과 대조가 커져 날카로워져 보인다

 

마지막 그래프는 원본 영상의 2fx -f_x가 된다(캡쳐 다시)

언샤프 마스크 필터링 구현

blur 함수는 1/9가 9개인 커널을 적용하고 

dst는 나머지 값은 0이고 가운데 값만 2인 커널이다

그 결과 오른쪽 필터와 같이 나타난다

 

가우시안 블러 영상의 가중치를 조절하여 샤프닝 정도를 조절할 수 있다