Computer Vision 이진화와 모폴로지

이주희·2022년 11월 24일

이진화

영상의 각 픽셀을 두개의 부류로 나눔
관심 영역 & 비관심 영역

영상의 이진화는 0과 255로 나눈다.

보통은 한 값 (threshold)을 기준으로 크면 255, 작으면 0으로 설정

double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type);

type

  • THRESH_BINARY
  • THRESH_BINARY_INV 0 //255 반대로
  • THRESH_TRUNC //크면 thresh 값으로 자름
  • THRESH_TOZERO // thresh보다 작으면 0으로 만듦
  • THRESH_TOZERO_INV // 위의거 반대
    임계값 자동 설정
  • THRESH_OTSU
  • THRESH_TRIANGLE

전체 픽셀에 같은 임계값 : 전역 이진화
특정 영역은 다른 임계값 : 적응형 이진화
( 균일하지 않은 조명환경에서 사용)


적응형 이진화

  • 주변 블록 영역의 픽셀 값 평균을 이용
  • C는 임계값 크기 조정 상수

adaptiveThreshold 함수 사용

모폴로지 연산

모폴로지 : 객체의 형태 및 구조에 대한 분석

구조 요소(모폴로지 연산의 동작을 결정하는 작은 행렬)을 정의

구조 요소

보통 3*3 정방향 구조요소 사용

고정점 : 구조요소의 가장 가운데 픽셀 (보통)

침식과 팽창

구조요소의 기본적인 연산

침식

  • 외곽을 골고루 깎아냄
  • 구조 요소가 객체영역 내부에 완전히 포함될 경우 고-정점 픽셀을 255로 설정
void erode(src, dst, kernel, anchor(고정점 위치), iterations, borderType, borderValue);

팽창

  • 객체 외곽 확대
  • 구조 요소에 한 픽셀이라도 객체와 겹치면 고정점 픽셀 255로 설정
void dilate(src, dst, kernel, anchor(고정점 위치), iterations, borderType, borderValue);

열기와 닫기

  • 열기 : 침식연산 후 팽창 연산
    영역 변화는 줄이면서 침식 효과가 강조됨

  • 닫기 : 팽창연산 후 침식연산
    영역 변화는 줄이면서 팽창 효과가 강조됨

0개의 댓글