코딩 및 기타/이미지

image binarization

정지홍 2025. 1. 7. 16:55

image binarization

  • black , white의 2가지 색상을 사용해서 표현하는 것.
  • 이미지를 단순화하거나, 특정 특징을 강조하기 위해서 사용함.
  • 이진화 과정
    • 1. grayscale로 변환
    • 2. 임계값threshold 설정
      • pixel이 임계값보다 크면 255(white) , 작다면 0(black)으로 설정
    • 3. 이진화 처리
  • 이진화 방법
    • 고정 임계값
    • 오츠 이진환
    • adaptive thresholding
    • multi-thresholding
  • 이진화의 용도
    • 객체인식
      • 객체가 명확히 구분되는 흑백 이미지를 생성하여 후속 이미지 처리
    • 노이즈 제거
      • 이미지의 중요 부분만 남기고 배경을 단순화해서 노이즈를 제거
  • return_value , rst_img = cv2.threshold( src , thresh , maxval , type )
    • src는 입력이미지
    • thresh는 임계값
    • maxval은 임계값 이상일 때 적용할 값
    • type은 임계값을 어떠한 알고리즘으로 지정할지...
    • returnval은 사용된 임계값이다.
    • type들...
      • 1. cv2.THRESH_BINARY
        • pixel값이 thresh임계값보다 크면 maxval로 설정하고, 작거나 같으면 0으로 설정
      • 2. cv2.THRESH_BINARY_INV
        • inv임
      • 3. cv2.THRESH_TRUNC
        • pixel값이 thresh보다 작으면 그대로 냅두고, 크면 임계값으로 설정.
      • 4. cv2.THRESH_TOZERO
        • pixel값이 thresh보다 크면 냅두고, 작거나 같으면 0으로
      • 5. cv2.THRESH_TOZERO_INV
        • inv. pixel이 임계값보다 크면 0으로, 작거나 같으면 유지
      • 6. cv2.THRESH_OTSU
        • otsu알고리즘이로 임계값을 자동으로 계산
      • 7. cv2.THRESH_TRIANGLE

1. thresh_binary를 사용
2. threshhold_binary_inv를 사용
3. trunc사용
4. thresh_tozero사용
5. tozero_inv
6. 오츠
7. 트라이앵글