[OpenCV] 이미지 이진화(Binarization)
OpenCV 에서는 이미지의 픽셀값을 0 또는 255로 만드는 연상이다. 원하는 피사체의 모양을 좀 더 정확히 판단하기 위해 이진화를 진행하며, 이진화를 통해 배경과 물체를 구분할 수 있다. 일잕거으로 값이 높거나 낮은 픽셀은 검은색 또는 희색의 값으로 변경한다.
import cv2
def binaryDef(imgPath):
src = cv2.imread(imgPath, cv2.IMREAD_COLOR)
gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
ret, dst = cv2.threshold(gray, 100, 255, cv2.THRESH_BINARY)
cv2.imshow("binarySample", dst)
return ret
이진화 함수: cv2.threshold(src, threshold, maxval, type_flag, dst=None)->retval,dst
- 입력 이미지: src
- 임곗값 형식: type(cv2.THRESH_BINARY)
- 임곗값: thresh
- 최대값: maxval
- return
- 임곗값: retval
- 결과 이미지: dst
속성의미
속성 | 의미 |
cv2.THRESH_BINARY | dst = (src > thresh) ? maxval : 0 |
cv2.THRESH_BINARY_INV | dst = (src > thresh) ? 0 : maxval |
cv2.THRESH_TRUNC | dst = (src > thresh) ? thresh : src |
cv2.THRESH_TOZERO | dst = (src > thresh) ? src : 0 |
cv2.THRESH_TOZERO_INV | dst = (src > thresh) ? 0 : src |
cv2.THRESH_MASK | 검은색 이미지로 변경 |
cv2.THRESH_OTSU | 오츠 알고리즘 적용 |
cv2.THRESH_TRIANGLE | 삼각형(Triangle) 알고리즘 적용 |
결과
'IT > 영상처리' 카테고리의 다른 글
OpenCV를 사용한 사람 감지 및 객체 감지: HOG vs YOLOv3 (0) | 2024.05.04 |
---|---|
[OpenCV] Video 읽어 보여주기 (0) | 2022.05.17 |
[OpenCV] 이미지 읽기와 쓰기 (2) | 2022.05.17 |
[Facebook] Spark AR (0) | 2022.05.17 |
[OpenCV] OpenCV-Python 준비 (0) | 2022.05.17 |