Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

이미지를 흐리게하는 OpenCV Python 프로그램?

<시간/>

OpenCV는 이미지 처리를 위한 최고의 파이썬 패키지 중 하나입니다. 또한 신호에 노이즈가 첨부된 것처럼 이미지에도 주로 소스 자체(카메라 센서)에서 발생하는 다양한 유형의 노이즈가 포함되어 있습니다. Python OpenCV 패키지는 흐림이라고도 하는 이미지 평활화 방법을 제공합니다. 이것이 우리가 이 섹션에서 할 일입니다. 일반적인 기술 중 하나는 이미지 흐림에 가우시안 필터(Gf)를 사용하는 것입니다. 이렇게 하면 이미지의 날카로운 모서리가 부드러워지고 너무 많이 흐려지는 현상이 최소화됩니다.

구문

cv.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType=BORDER_DEFAULT]]] )

어디에-

  • src – 입력 이미지

  • dst – 출력 이미지

  • ksize – 가우스 커널 크기[ 높이 너비]. ksize가 [0 0]으로 설정되면 ksize는 시그마 값에서 계산됩니다.

  • 시그마X – X축(가로 방향)에 따른 커널 표준 편차.

  • 시그마Y – Y축(수직 방향)에 따른 커널 표준 편차.

  • 테두리 유형 – 커널이 이미지 경계에 적용되는 동안 이미지 경계를 지정합니다. 가능한 값은 다음과 같습니다. cv.BORDER_CONSTANT, cv.BORDER_REPLICATE, cv.BORDER_REFLECT, cv.BORDER_WRAP, cv.BORDER_DEFAULT, cv.BORDER_ISOLATED, cv.BORDER_TRANSPARENT 등

다음은 OpenCV 패키지를 사용하여 이미지를 가우시안 흐리게 처리하는 프로그램입니다.

import cv2
import numpy

# read image
src = cv2.imread('LionKing.jpeg', cv2.IMREAD_UNCHANGED)

# apply guassian blur on src image
dst = cv2.GaussianBlur(src,(3,3),cv2.BORDER_DEFAULT)

# display input and output image
cv2.imshow("Gaussian Blur",numpy.hstack((src, dst)))
cv2.waitKey(0) # waits until a key is pressed
cv2.destroyAllWindows() # destroys the window showing image

결과

이미지를 흐리게하는 OpenCV Python 프로그램?

두 이미지가 거의 비슷해 보입니다(원본/흐림 효과). 이제 커널 크기를 늘리고 결과를 관찰해 보겠습니다.

dst = cv2.GaussianBlur(src,(13,13),cv2.BORDER_DEFAULT)

이미지를 흐리게하는 OpenCV Python 프로그램?

이제 두 이미지가 명확하게 구분됩니다.