OpenCV 에서 자주 사용 하 는 윤곽 처리 함수 집합
ApproxChains
다각형 곡선 으로 Freeman 체인 에 접근
CvSeq* cvApproxChains( CvSeq* src_seq, CvMemStorage* storage,
int method=CV_CHAIN_APPROX_SIMPLE,
double parameter=0, int minimal_perimeter=0, int recursive=0 );
src_seq
다른 체인 과 관련 된 체인 포인터
storage
다각형 선분 위 치 를 저장 하 는 캐 시
method
접근 방법 (함수 cvFindContours 설명 참조).
parameter
방법 매개 변수 (현재 사용 하지 않 음).
minimal_perimeter
둘레
minimal_perimeter
윤곽.다른 체인 은 결과 에서 제거 합 니 다.recursive
하면, 만약, 만약...
src_seq
에서 이용h_next
와v_next links
모든 접근 가능 한 체인 에 접근 합 니 다.0 이면 싱글 체인 에 가깝다.이것 은 단독 접근 절차 다.같은 접근 표지 에 대해 함수 cvApprox Chains 는 cvFindContours 의 작업 방식 과 똑 같 습 니 다.그것 은 발 견 된 첫 번 째 윤곽 의 지침 을 되 돌려 주 었 다.다른 접근 모듈 은 구조 중의
v_next
과 v_next
도 메 인 을 되 돌려 방문 할 수 있 습 니 다.StartReadChainPoints
체인 읽 기 초기 화
void cvStartReadChainPoints( CvChain* chain, CvChainPtReader* reader );
chain
사슬 의 지침
reader
체인 읽 기 상태
함수 cvstartReadChainPoints 는 특수 한 판독 기 를 초기 화 합 니 다 (Dynamic Data Structures 를 참고 하여 집합 과 시퀀스 에 대한 더 많은 내용 을 얻 을 수 있 습 니 다).
ReadChainPoint
다음 체인 을 얻 을 수 있 는 점.
CvPoint cvReadChainPoint( CvChainPtReader* reader );
reader
체인 읽 기 상태
함수 cvReadChainPoint 는 현재 체인 의 점 을 되 돌려 주 고 읽 기 위 치 를 업데이트 합 니 다.
ApproxPoly
지정 정밀도 로 다각형 곡선 에 접근 하 다.
CvSeq* cvApproxPoly( const void* src_seq, int header_size, CvMemStorage* storage,
int method, double parameter, int parameter2=0 );
src_seq
점 집합 배열 시퀀스
header_size
곡선 에 가 까 운 머리 사이즈.
storage
윤곽 에 가 까 운 용기.NULL 이면 입력 한 시퀀스 를 사용 합 니 다.
method
접근 방법.현재 지원
CV_POLY_APPROX_DP
Douglas - Peucker 알고리즘 에 대응 합 니 다.parameter
방법 관련 매개 변수.맞다.
CV_POLY_APPROX_DP
그것 은 지 정 된 접근 정밀도 이다.parameter2
하면, 만약, 만약...
src_seq
은 서열 로 하나의 서열 에 가 까 워 지 거나src_seq
의 동일 하거나 저급 한 차원 에서 모든 서열 에 가깝다 (cvFindContours 에서 윤곽 계승 구조 에 대한 설명 참조). 만약 에src_seq
점 집합 배열 (CvMat *) 이 고 매개 변수 지정 곡선 은 닫 힘 (parameter2
! = 0) 아니면 비 닫 기 (parameter2
=0). 함수 cvApprox Poly 는 하나 이상 의 곡선 에 접근 하고 접근 결 과 를 되 돌려 줍 니 다.여러 곡선 에 가 까 워 지면 생 성 된 나 무 는 입력 한 것 과 같은 구 조 를 가진다.(1: 1 의 대응 관계).
BoundingRect
계산 점 집합의 맨 바깥 (up - right) 직사각형 경계
CvRect cvBoundingRect( CvArr* points, int update=0 );
points
2 차원 점 집합, 점 의 서열 또는 벡터 (
CvMat
) update
표 지 를 갱신 하 다.다음은 윤곽 유형 과 표지 의 조합 일 수 있 습 니 다.
rect
도 메 인 에서 직접 얻 을 수 있 습 니 다.rect
필드 에 기록 합 니 다. ContourArea
전체 윤곽 이나 부분 윤곽 의 면적 을 계산 하 다.
double cvContourArea( const CvArr* contour, CvSlice slice=CV_WHOLE_SEQ );
contour
윤곽 (지정 한 시퀀스 나 배열).
slice
관심 있 는 윤곽 부분의 시작 점, 부족 은 전체 윤곽 의 면적 을 계산 하 는 것 이다.
함수 cvContourArea 는 전체 윤곽 이나 부분 윤곽 의 면적 을 계산 합 니 다.뒤의 상황 에 대해 면적 은 윤곽 부분 과 시작 점 연결선 으로 구 성 된 폐쇄 부분의 면적 을 나타 낸다.다음 그림 에서 보 듯 이:
NOTE: 윤곽 의 방향 이 면적 에 영향 을 주 는 기호.따라서 함수 가 마이너스 결 과 를 되 돌 릴 수 있 습 니 다.응용 함수
fabs()
는 면적 의 절대 치 를 얻는다.ArcLength
윤곽 둘레 나 곡선 길 이 를 계산 하 다.
double cvArcLength( const void* curve, CvSlice slice=CV_WHOLE_SEQ, int is_closed=-1 );
curve
곡선 점 집합 시퀀스 또는 배열
slice
곡선의 시작 점, 결 성 은 전체 곡선의 길 이 를 계산 하 는 것 이다.
is_closed
곡선 이 닫 혔 는 지 세 가지 상황 이 있 음 을 나타 낸다.
함수 cvArcLength 는 시퀀스 점 간 의 선분 길 이 를 순서대로 계산 하고 곡선의 길 이 를 구 합 니 다.
CreateContourTree
윤곽 을 만 드 는 계승 표시 형식
CvContourTree* cvCreateContourTree( const CvSeq* contour, CvMemStorage* storage, double threshold );
contour
입력 한 윤곽
storage
출력 트 리 의 용기
threshold
근접 정밀도
함수 cvCreate ContourTree 입력 윤곽
contour
이 진 트 리 를 만 들 고 뿌리 지침 을 되 돌려 줍 니 다.인자 threshold
가 0 보다 작 거나 같 으 면 함수 가 완전한 이 진 트 리 를 만 듭 니 다.하면, 만약, 만약... 0 보다 크 면 함수 가 threshold
지정 한 정밀도 로 이 진 트 리 를 만 듭 니 다. 기선 의 절단 구역 의 정점 이 threshold 보다 작 으 면 이 수 는 성장 을 멈 추고 함수 의 최종 결과 로 돌아 갑 니 다.ContourFromContourTree
트 리 에서 윤곽 회복
CvSeq* cvContourFromContourTree( const CvContourTree* tree, CvMemStorage* storage,
CvTermCriteria criteria );
tree
윤곽 트 리
storage
재 구 성 된 윤곽 용기
criteria
재 구성 중지 준칙
함수 cvContourFromContourTree 가 이 진 트 리 에서 윤곽 을 회복 합 니 다.매개 변수
threshold
는 재 구축 의 정밀도 와 사용 나무의 수량 과 차원 을 결정 한다.그래서 가 까 운 윤곽 을 만 들 수 있 습 니 다.함수 가 재 구성 윤곽 을 되 돌려 줍 니 다.MatchContourTrees
나무의 형태 로 두 윤곽 을 비교 하 다
double cvMatchContourTrees( const CvContourTree* tree1, const CvContourTree* tree2,
int method, double threshold );
tree1
첫 번 째 윤곽 트 리
tree2
두 번 째 윤곽 트 리
method
싱크로 율지지
criteria
。 threshold
싱크로 율 한도 값
함수 cvMatch ContourTrees 는 두 윤곽 트 리 의 일치 값 을 계산 합 니 다.나무 뿌리 부터 층 층 이 비 교 를 통 해 싱크로 율 을 계산한다.하면, 만약, 만약...
CV_CONTOUR_TREES_MATCH_I1
는 비교 과정 을 중단 하고 현재 의 차 이 를 되 돌려 줍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.