노이즈의 종류
- original image
- salt-and-pepper noise : 랜덤으로 검거나 흰 점들이 마치 소금과 후추처럼 흩 뿌려져 있는 노이즈를 말한다.
- gaussian noise : 정규 분포를 이르는 노이즈를 말한다. 쉽게말하면 일반적으로(일상적으로) 생기는 잡음을 말한다.(이미지 전체에 고르게 나타나는 잡음)
Gaussian, Bilateral filter
- 보통 가우시안 노이즈(백색 잡음)을 제거하는데 사용되어진다.
- Gaussian과 Bilateral 두 필터 모두 잡음을 제거한다.
- Gaussian과 Bilateral의 가장 큰 차이는 Bilateral의 경우 경계선이 뭉개지지 않는다.
|
Gaussian, Bilateral filter 실행 코드
cv2.Gaussian(img,ksize,sigmaX)
- img : 이미지
- ksize : 커널의 사이즈 (홀수로 하여야 한다.)
- sigmaX : 가우시안 커널의 표준편차 (보통 0)
cv2.bilateralFilter(src,d,sigmaColor,sigmaSpace)
- src : 이미지
- d : filtering 할 때 고려할 주변 픽셀 크기
- sigmaColor : 고려할 Color 범위 (멀면 차이가 큰 색도 고려)
- sigmaSpace : 고려할 픽셀 거리
import cv2
img = cv2.imread('img2_2.jpg')
img = cv2.resize(img, None, fx=0.2, fy=0.2, interpolation=cv2.INTER_AREA)
# GaussianBlur
dst1 = cv2.GaussianBlur(img,(7,7),0)
# Bilateral Filtering
dst2 = cv2.bilateralFilter(img,9,75,75)
cv2.imshow("original",img)
cv2.imshow("gaussian",dst1)
cv2.imshow("bilateral",dst2)
cv2.waitKey(0)median filter
- 주변 색의 값(마스크의 값)들 중 가장 가운데에 있는 값을 이용하여 색을 보정한다.
- median filtering의 결과
median filter 실행 코드
cv2.medianBlur(src,ksize)
- src : 이미지
- ksize : 커널 사이즈(항상 홀수)
import cv2
img = cv2.imread('img1_2.jpg')
img = cv2.resize(img, None, fx=0.2, fy=0.2, interpolation=cv2.INTER_AREA)
# medianBlur
dst1 = cv2.medianBlur(img,7)
cv2.imwrite("original.jpg",img)
cv2.imwrite("median.jpg",dst1)
cv2.waitKey(0)'IT > 영상 처리' 카테고리의 다른 글
| [Python_OpenCV] Crop (0) | 2018.09.18 |
|---|---|
| [Python_OpenCV] 모폴로지 연산 (morphology) (0) | 2018.09.08 |
| [Python_OpenCV] 지정경로에서 이미지 파일 읽어오기 (0) | 2018.08.08 |
| [Python_OpenCV] Templete Matching(템플릿 매칭) (0) | 2018.07.22 |
| [Python_OpenCV] Feature Matching (이미지 특성 매칭) (0) | 2018.07.22 |