728x90
반응형

CS 42

[OpenCV] 12장 레이블링과 외곽선 검출

레이블링 각각의 객체를 구분하고 분석할때 사용 검은색 배경, 흰색 객체 간주 레이블 맵을 생성하여 진행 레이블 맵 : 이진 영상에 레이블링을 수행 → 각각 객체 영역에 고유 번호 매겨진 2차원 정수 행렬 레이블링 후 각 객체 영역 하나하나 확인하는거 힘듦 → connectedComponentsWithStats() 사용 (x, y, w, h, area) 외곽선(contour) 검출 외곽선 : 객체 영역 픽셀 중 배경 영역과 인접한 일련의 픽셀 보통 검은색 배경안 흰색 객체에서 가장 최외곽 픽셀 외곽선으로 정의 drawContours() : 외곽선 그리는 함수 boundingRect() : 주어진 외곽선 점들을 감싸는 가장 작은 크기의 사각형 구함 minAreaRect() : 외곽선(점)을 감싸는 최소 크기..

CS/Computer Vision 2022.12.30

[OpenCV] 11장 이진화와 모폴로지

이진화 영상을 주요 객체 영역과 배경 영역으로 구분하는 작업 보통 객체는 흰색, 배경은 검은색으로 표현 픽셀 값이 임계값(threshold)보다 크면 255, 작으면 0으로 설정 THRESH_BINARY_INV(객체 검은색) → THRESH_BINARY에서 반전 적응형 이진화 불균일한 조명 성분 가질때 쓰는게 좋음(하나의 임계값으로 객체와 배경 구분 어려우므로) adaptiveThreshold() 모폴로지 이진화 영상을 가지고 잡음을 제거 구조 요소를 정의 구조 요소 : 모폴로지 연산의 동작을 결정하는 작은 크기의 행렬 anchor point : 모폴로지 연산 결과가 저장될 위치 나타내는 고정점 침식 & 팽창 침식 : 객체 영역의 외곽을 골고루 깎아냄 → 객체 영역 축소, 배경 확대 구조 요소가 객체 영..

CS/Computer Vision 2022.12.30

[OpenCV] 10장 컬러 영상 처리

컬러 영상 처리 IMREAD_COLOR : 3채널 컬러 영상 형식 OpenCV 컬러 영상은 BGR 색상 순서로 표현 컬러 영상 반전 B, G, R 3개의 색상 성분을 각각 255에서 빼는 연산 색 공간 HSV : 색상, 채도, 명도 YCrCb : Y-밝기, 휘도 / Cr Cb - 색상, 색차 색상 채널 나누기 split()함수 사용 BGR 중 1가지 색 성분만을 이용하거나, HSV에서 H 성분만을 이용하는 경우 → 3채널 Mat 객체를 1채널 Mat 객체 3개로 분리하는게 효율적 split()함수를 사용 컬러 히스토그램 평활화 명암비 증가시킬때! 입력 영상을 밝기 정보와 색상 정보로 분리함 밝기 정보에 대해서만 히스토그램 평활화를 사용(YCrCb → Y만 수행) 변경된 채널과 기존 채널을 다시 합치면 결..

CS/Computer Vision 2022.12.30

[OpenCV] 9장 에지 검출

에지 검출 객체와 배경의 경계를 찾기 위해 사용 픽셀 값의 변화율이 크면 에지로 판단, 미분을 통해 구함 그래디언트 : 변화율과 변화 방향을 동시에 표현 밝기 차이가 클수록 벡터 크기 크게 나타남 미분 근사를 하는 이유 : 영상은 이진화된 값이기 때문에 x의 변화량을 0으로 보낼 수 없음 전진 차분, 후진 차분, 중앙 차분(중앙차분 주로 사용, 이론적으로 근사화 오류가 가장 적기 때문) 2차원 영상에서는 편미분 사용 그래디언트는 x, y 편미분 값 포함 벡터 표현. 벡터의 방향은 변화 정도가 가장 큰 방향을 나타냄. 그래디언트 벡터와 수직인 방향이 에지의 방향 소벨 필터 중앙차분 연산을 했을 때 세로방향, 가로방향 에지를 구할 수 있음 소벨 마스크가 언제 효과적으로 수행되는지 : 편미분 수행에 사용됨. ..

CS/Computer Vision 2022.12.30
728x90
반응형