노이즈의 종류
- original image
- salt-and-pepper noise : 랜덤으로 검거나 흰 점들이 마치 소금과 후추처럼 흩 뿌려져 있는 노이즈를 말한다.
- gaussian noise : 정규 분포를 이르는 노이즈를 말한다. 쉽게말하면 일반적으로(일상적으로) 생기는 잡음을 말한다.(이미지 전체에 고르게 나타나는 잡음)
original | salt-and-pepper noise | Gaussian noise |
Gaussian, Bilateral filter
- 보통 가우시안 노이즈(백색 잡음)을 제거하는데 사용되어진다.
- Gaussian과 Bilateral 두 필터 모두 잡음을 제거한다.
- Gaussian과 Bilateral의 가장 큰 차이는 Bilateral의 경우 경계선이 뭉개지지 않는다.
Gaussian noise | Gaussian filtering 결과 | bilateral filtering 결과 |
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 |