함수 > 이미지 처리 > 컨볼루션 및 필터 > 예제: 중앙값 및 변위치 필터링
  
예제: 중앙값 및 변위치 필터링
medsmoothgetnoise를 사용하여 이미지에서 각 요소의 중앙값 광도(0.5 변위치)와 해당 요소에서 가장 가까운 8개 인접 요소(3 x 3 정사각형 커널)를 찾습니다. medsmooth 함수는 필터링된 이미지를 구하는 반면, getnoise 함수는 원래 이미지와 필터링된 이미지 간의 차이를 구합니다.
중앙값이 아니라 사용자 정의 커널 및 변위치가 필요한 경우 quantfilt를 사용합니다.
중앙값 필터링은 노이즈를 제거할 뿐 아니라 그림의 날카롭고 작은 피쳐를 제거하는 경향이 있습니다.
이 예제를 사용하는 것에 대한 자세한 내용은 이미지 처리 예제 정보를 참조하십시오.
medsmooth
1. 이미지를 읽습니다.
이 식을 복사하려면 클릭
2. 이미지에 노이즈를 추가합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
3. 원본 이미지와 노이즈가 추가된 이미지를 비교합니다.
(fruit.bmp)
(fruit_n.bmp)
4. medsmooth로 이미지를 필터링합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
(fruit_f.bmp)
getnoise
이 함수는 이미지 행렬의 중앙값으로 필터링된 버전에서 원래 버전을 뺍니다.
1. getnoise 함수를 노이즈가 추가된 이미지에 적용합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
(fruit_gn.bmp)
getnoise 함수는 필터링된 이미지에서 노이즈를 빼는 작업을 수행합니다.
이 식을 복사하려면 클릭
2. 두 이미지 간의 절대값 차이를 계산하고 표시합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
(fruit_an.bmp)
quantfilt
일부 경우 정사각형 3 x 3 커널의 중앙값 필터가 적당하지 않아 올바른 필터링을 수행하지 못할 수 있습니다. 예를 들어, 날카로운 코너가 많은 이미지를 이 방식으로 필터링하면 코너 픽셀이 제거되는 경우가 많습니다. 위에 지정된 균일한 3 x 3 커널 대신 더하기 모양의 중앙값 필터링 커널이 있는 quantfilt 함수를 사용하면 이 효과를 방지할 수 있습니다.
일반적인 패턴을 가정하고 약간의 노이즈를 추가합니다.
1. 패턴 이미지를 읽습니다.
이 식을 복사하려면 클릭
2. 이미지에 노이즈를 추가합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
3. 원본 이미지와 노이즈가 추가된 이미지를 비교합니다.
(pattern.bmp)
(pattern_n2.bmp)
4. 중앙값에 대한 0.5 변위치와 3 x 3 정사각형 커널이 있는 quantfilt 함수를 사용하여 노이즈가 추가된 이미지를 필터링합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
5. 중앙값에 대한 0.5 변위치와 더하기 모양의 커널이 있는 quantfilt 함수를 사용하여 노이즈가 추가된 이미지를 필터링합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
6. 두 필터링된 패턴을 비교합니다.
(pattern_sq.bmp)
(pattern_cr.bmp)
정사각형 커널이 더하기 모양 커널보다 정사각형 가장자리, 선 및 코너를 많이 흐리게 만듭니다.
비중앙값 변위치
quantfilt 함수의 또 다른 활용 방법은 중앙값(0.5)과 다른 변위치를 선택하여 이미지의 전체 광도를 변경하는 것입니다. 예를 들어, 0.0 변위치를 선택하면 픽셀 및 인접 픽셀의 최소값을 얻게 되고 1.0 변위치를 선택하면 최대값을 얻게 됩니다. 이것은 그레이스케일 형태학적 침식 및 팽창과 유사합니다.
1. 변위치를 0.0으로 설정하면 원래 패턴의 어두운 영역은 팽창되고 밝은 영역은 침식됩니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. 변위치를 1.0으로 설정하면 원래 패턴의 밝은 영역은 팽창되고 어두운 영역은 침식됩니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
3. 이 밝고 어두운 버전을 원래 패턴과 비교합니다.
(pattern.bmp)
(pattern_drk.bmp)
(pattern_lit.bmp)