반응형
목차
이번 포스트에서는 이미지가 가지고 있는 픽셀값을 threshold 함수를 사용해서 사용자가 지정한 문턱 값과 비교해서 옵션에 따라 처리하는 예제를 실행합니다.
우선 원본으로 사용할 이미지는 아래와 같습니다.
예제 코드>>
import cv2
img = cv2.imread('gradient.jpg')
print(img)
cv2.imshow("original", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
결과>>
[[[116 116 116]
[116 116 116]
[116 116 116]
...
원형태로 가운데로 갈수록 밝아지는(픽셀값은 255에 가까워짐) 그림입니다.
파이썬 OpenCV threshold 함수 Syntax
이미지(image)의 임계값을 확인해서 비교 출력 값을 주는 함수 threshold 함수의 사용법은 아래와 같습니다.
ret,반환이미지 = cv2.threshold(원본이미지, 임계 픽셀값, 바꿀 값, 옵션)
원본이미지를 임계 픽셀값과 비교해서 옵션에 따라 바꿀 값을 적용합니다. 옵션(Option)은 아래와 같습니다.
cv.THRESH_BINARY
cv.THRESH_BINARY_INV
cv.THRESH_TRUNC
cv.THRESH_TOZERO
cv.THRESH_TOZERO_INV
아래 예제(Example) 구현을 통해 쉽게 이해하실 수 있습니다.
파이썬 OpenCV threshold 함수 예제
예제 코드>>
import cv2
img = cv2.imread('gradient.jpg')
ret,threshold1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
ret,threshold2 = cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV)
ret,threshold3 = cv2.threshold(img,127,255,cv2.THRESH_TRUNC)
ret,threshold4 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO)
ret,threshold5 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO_INV)
cv2.imshow("original", img)
cv2.imshow("THRESH_BINARY", threshold1)
cv2.imshow("THRESH_BINARY_INV", threshold2)
cv2.imshow("THRESH_TRUNC", threshold3)
cv2.imshow("THRESH_TOZERO", threshold4)
cv2.imshow("THRESH_TOZERO_INV", threshold5)
cv2.waitKey(0)
cv2.destroyAllWindows()
결과>>
윈도우 창의 타이틀 명을 보고 비교하시면 됩니다.
반응형
'파이썬(Python) > opencv' 카테고리의 다른 글
[Python]OpenCV 카메라 모션 감지(Motion Sensor)(countNonZero, bitwise_and, threshold, absdiff) (1) | 2022.06.13 |
---|---|
[Python] OpenCV PC 카메라 특정 색상만 출력하기 (Camera, BGR, HSV, inRange, bitwise_and) (0) | 2022.06.04 |
[Python]OpenCV 픽셀 처리 함수: add, subtract, multiply, divide (0) | 2022.04.21 |
[Python]OpenCV 픽셀 처리 함수:max,min,absdiff,compare (0) | 2022.04.20 |
[Python]OpenCV 3차원 이미지 스캔화면(2차원)처럼 바꾸기 (0) | 2022.04.05 |