Python OpenCV 강좌 : 제 12강 - 이진화

   

이진화 (Binary)


1 영상이나 이미지를 어느 지점을 기준으로 흑색 또는 흰색의 색상으로 변환하기 위해서 사용합니다.



Main Code


import cv2

src = cv2.imread("Image/geese.jpg", cv2.IMREAD_COLOR)

gray = cv2.cvtColor(src, cv2.COLOR_RGB2GRAY)
ret, dst = cv2.threshold(gray, 100, 255, cv2.THRESH_BINARY)

cv2.imshow("dst", dst)
cv2.waitKey(0)
cv2.destroyAllWindows()



Detailed Code


gray = cv2.cvtColor(src, cv2.COLOR_RGB2GRAY)
ret, dst = cv2.threshold(gray, 100, 255, cv2.THRESH_BINARY)

이진화를 적용하기 위해서 그레이스케일로 변환합니다.

ret, dst를 이용하여 이진화 결과를 저장합니다. ret에는 임계값이 저장됩니다.

cv2.threshold(그레스케일 이미지, 임계값, 최댓값, 임계값 종류)를 이용하여 이진화 이미지로 변경합니다.

임계값은 이미지의 흑백을 나눌 기준값을 의미합니다. 100으로 설정할 경우, 100보다 이하면 0으로, 100보다 이상이면 최댓값으로 변경합니다.

임계값 종류를 이용하여 이진화할 방법 설정합니다.


Additional Information


임계값 종류

속성의미
cv2.THRESH_BINARY임계값 이상 = 최댓값 임계값 이하 = 0
cv2.THRESH_BINARY_INV임계값 이상 = 0 임계값 이하 = 최댓값
cv2.THRESH_TRUNC임계값 이상 = 임계값 임계값 이하 = 원본값
cv2.THRESH_TOZERO임계값 이상 = 원본값 임계값 이하 = 0
cv2.THRESH_TOZERO_INV임계값 이상 = 0 임계값 이하 = 원본값
cv2.THRESH_MASK흑색 이미지로 변경
cv2.THRESH_OTSUOtsu 알고리즘 사용
cv2.THRESH_TRIANGLETriangle 알고리즘 사용



Result


2



도움이 되셨다면 광고 클릭 부탁드립니다.

⤧  Next post Python OpenCV 강좌 : 제 13강 - 흐림 효과 ⤧  Previous post Python OpenCV 강좌 : 제 11강 - 역상