OpenCV binarization

정소원·2023년 5월 1일
0

Computer Vision

목록 보기
4/6

binarization

이진화

→ 문턱값을 기준으로 픽셀을 분류한 결과에 따라 값을 재설정하는 작업

→ 이미지 내 관심 객체를 추출

단일 문턱치 처리

  • 전역적 문턱치: 단일 문턱치 사용
  • 가변적 문턱치: 영상 내 각 영역에 따라 다른 문턱치 값을 적용

threshold function

명령어설명
Thresholdinput MAT에 문턱값을 적용하여 max_val값으로 이진화한 이미지를 output MAT에 저장

flags

threshold type설명
THRESHOLD_BINARY일반적인 문턱치 처리
THRESHOLD_BINARY_INVTHRESHOLD_BINARY의 결과를 반전시킴
THRESHOLD_TRUNC문턱값 초과시 문턱값을 적용하고, 이하시 원래 값 유지 (max를 지정하는 것과 같음)
THRESHOLD_TOZERO문턱값 이하시 0값을 적용하고, 초과시 원래 값 유지 (min를 지정하는 것과 같음..?)
THRESHOLD_TOZERO_INVTHRESHOLD_TOZERO의 결과를 반전시킴
THRESHOLD_OTSU두개의 피크를 구분하는 문턱값을 찾음

adaptiveThreshold

→ pixel마다 적절한 thrshold를 자동으로 구함
기준: 이웃한 픽셀의 평균값에 -C 더한 값

명령어설명
adaptiveThresholdinput MAT에 커널사이즈, C값을 적용하여 자동으로 이진화한 이미지를 output MAT에 저장

flags

threshold type설명
ADAPTIVE_THRESH_MEAN_C주변 픽셀의 평균값으로 계산
ADAPTIVE_THRESH_GAUSSIAN_C주변 픽셀에 가우시안 커널을 적용한 값으로 계산

inrange

→ 2개의 문턱값 설정하여 안 범위에 든 픽셀 추출

→ HSV 컬러 영역에서 H값으로 이진화

명령어설명
inRangehsv 이미지를 입력으로 받아 Scale로 구성된 2개의 문턱값을 설정하여 이진화

mopology

→ 팽창, 침식의 과정을 연속으로 수행

노이즈 제거, 객체 추출을 위해 사용됨

명령어설명
dilate침식 (dilation)kernel, anchor, iteration을 지정하여 이미지의 침식 연산을 수행
erode팽창 (erosion)kernel, anchor, iteration을 지정하여 이미지의 팽창 연산을 수행

flags

명령어설명
morphologyEx(CV_MOP_OPEN)침식 (opening)화이트 노이즈를 제거하기 위해 침식 → 팽창 수행
morphologyEx(CV_MOP_CLOSE)팽창 (closing)블랙 노이즈를 제거하기 위해 팽창 → 침식 수행
profile
성장지향형 자율주행 소프트웨어 개발자입니다. K-Digital-Training: 자율주행 데브코스 Planning & Control 1기로 활동하고 있습니다. 본 블로그를 통해 배움기록을 실천하고 있습니다. #자율주행 #기계공학

0개의 댓글