일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 컴퓨터 비전
- 케라스 정리
- matlab 영상처리
- 미디언 필터링
- 딥러닝
- 가우시안 필터링
- 해리스 코너 검출
- 파이토치
- 파이토치 강의 정리
- c언어
- 딥러닝 스터디
- C언어 공부
- c언어 정리
- 모두의 딥러닝 예제
- c++
- TensorFlow
- 파이토치 김성훈 교수님 강의 정리
- 팀프로젝트
- 영상처리
- pytorch
- 김성훈 교수님 PyTorch
- 골빈해커
- 모두의 딥러닝
- Pytorch Lecture
- tensorflow 예제
- object detection
- pytorch zero to all
- 딥러닝 공부
- MFC 프로그래밍
- c++공부
- Today
- Total
ComputerVision Jack
[컴퓨터 비전 - 레이블링과 외각선 검출] 본문
레이블링
배경과 객체를 구분한 다음 다시 객체를 구분하고 분석하는 작업이 필요하다.
레이블링(Lbeling)
영상 내에 존재하는 객체 픽셀 집합에 고유 번호를 매기는 작업으로 구성 요소 레이블링 이라고도 한다.
객체인식을 위한 전처리 과정으로 자주 사용한다.
일반적으로 이진화된 영상에서 수행한다.
4방향 연결성 과 8방향 연결성
레이블링에 의해 고유 번호가 있는 2차원 정수 행렬이 만들어짐
이러한 2차원 정수 행렬을 레이블 맵(label map)이라고 한다.
int conntectedComponents(InputArray image, OutputArray labels, int connectivity = 8, int ltype = CV_32S);
#레이블링 적용하는 함수
int connectedCompoentsWithStats(InputArray image, OutputArray labels, OutputArray stats,
OutputArray centroids, int connectivity = 8, int ltype = CV_32S);
#labels과 stats와 centroids를 반환한다.
외곽선 검출
객체 외곽선(contour)
객체 영역 픽셀 중에서 배경 영역과 인접한 일련의 픽셀.
최외곽에 있는 픽셀을 외곽선으로 정의한다. 영역 안에 존재하는 hole에 대한 외각선도 검출 할 수 있다.
void findContours(InputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode,
int method, Point offset = Point());
void findContours(InputArray image, OutputArrayOfArrays contours, int mode, int method, Point offset = Point());
#영상 내부 객체들의 외곽선을 검출하는 함수
hierachy인자에 따라 함수가 다르게 오버로딩 되어 있다.
void drawContours(InputOutputArray image, InputArrayOfArrays contours, int contourIdx,
const Scalar& color, int thickness = 1, int lineType = LINE_8, InputArray hierarchy = noArray(),
int maxLevel = INT_MAX, Point offset = Point());
#객체 외곽선 정보를 그리는 함수
Rect boundingRect(IntputArray points);
#주어진 외곽선 점들을 감싸는 바운딩 박스를 구하는 함수
RotatedRect minAreaRect(InputArray points);
#외곽선을 감싸는 최소 크긱의 회전된 사각형을 구하는 함수
void minEnclosingCircle(InputArray points, Point2f& center, float& radius);
#최소 크기의 원을 구하는 함수
double arcLength(InputArray curve, bool closed);
#곡선을 형성하는 점 집합을 가질때, 곡선의 길이를 구하는 함수
double contourArea(InputArray contour, bool oriented = false);
#외곽선이 감싸는 영역의 면적을 구하는 함수
void approxPlolyDP(InputArray curve, OutputArray approxCurve, double epsilon, bool closed);
#외곽선 또는 곡선을 근화하는 함수
'Image Processing > Computer Vision' 카테고리의 다른 글
[컴퓨터 비전 - 지역 특징점 검출과 매칭] (0) | 2020.02.05 |
---|---|
[컴퓨터 비전 - 객체 검출] (0) | 2020.02.04 |
[컴퓨터 비전 - 이진화 & 모폴로지] (0) | 2020.01.31 |
[컴퓨터 비전 - 영상 기하학적 변환] (0) | 2020.01.29 |
[컴퓨터 비전 - 필터링] (0) | 2020.01.28 |