<aside>
📢
OpenCV 설치 방법
!pip install opencv-python -> 기본 번들
!pip install opencv-python-headless -> 경량화 패키지
</aside>
- 시각은 색상 정보에 대해 잘못된 정보를 보내주는 경우가 많음
- 밤에 색상을 볼 때 정확한 색상을 보여주지 못함 (명도, 검정색이 섞이는 것)
- 색상에 빛을 강하게 비추는 경우, 정확한 색상을 보여주지 못함 (채도, 흰색이 섞이는 것)
- 컬러는 너무 많은 정보를 가지고 있기 때문에 연산량이 많음 - 실시간 처리가 느리다.
- 따라서 상황에 따라 gray이미지나, binary이미지로 변환해서 처리
- gray 이미지 : 0~255로 픽셀로만 구성된 흑백이미지
- binary 이미지 : 검정색(0)과 흰색(255)으로만 구성된 이미지, 0과 1로 이루어진 이미지
- 특정 패턴이나 물체의 윤곽을 감지
- 배경/물체 구별
- 텍스트 필터링
- 뼈의 윤곽 / mri 스캔 종양 식별
- 자율주행시 장애물 / 차선 등 감지
- 제품 결함 및 불량품 식별 등
텍스트 인식(ORC) Optical Character Recognition
이미지 Thresholding는 문턱 값 이상이면 어떤 값으로 바꾸어주고 낮으면 0으로 바꾸어주는 기능을 합니다
# cv2.threshold(대상, 임계값(기준값), 값, 이진화 종류 값)
_, thr_img = cv2.threshold(img, 100, 255, cv2.THRESH_BINARY)
🤔Otus 알고리즘
threst 값을 사용자가 정하는게 아님 자동으로 정해진다
이 알고리즘은 쌍봉 분포 라는 것이다
즉, 서로 다른 두개의 픽셀값에서 최댓값을 나타내는 이미지이다

즉, 두 봉우리 사이의 값을 선택하여 분산을 최소로 만들어 효율적인 이진화 진행
예제 코드