OpenCV 워드 프로세서에서 약간의 손실이 있습니다. 배열에 cvFindContours가 반환 한 CvSeq을 저장하고 싶습니다. CvContour의 seq가 반환 될지 알지만, 찾을 수 없습니다. 들어 있습니까? 어떤 부분을 저장해야하는지 나중에 나중에 반복해서 cvBoundingRect 등을 호출 할 수 있습니다.배열에 CvSeq 저장
6
A
답변
8
CvContour는 CvSeq과 동일한 필드를 가진 구조체이며, 이것은 CvRect rect입니다 (include/opencv/cxtypes.h 참조). 그래서 그것은 CvSeq이 무엇인지에 달려 있습니다.
OpenCV 소스와 함께 제공되는 opencv.pdf이라는 파일이 있습니다. contours
가 cvFindContours
를 호출 한 후 첫 번째 윤곽을 가리키는 것
cvFindContours(img, storage, &contours, sizeof(CvContour), CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
을 :
#define CV_SEQUENCE\_FIELDS()
int flags; /* micsellaneous flags */ \
int header_size; /* size of sequence header */ \
struct CvSeq* h_prev; /* previous sequence */ \
struct CvSeq* h_next; /* next sequence */ \
struct CvSeq* v_prev; /* 2nd previous sequence */ \
struct CvSeq* v_next; /* 2nd next sequence */ \
int total; /* total number of elements */ \
int elem_size;/* size of sequence element in bytes */ \
char* block_max;/* maximal bound of the last block */ \
char* ptr; /* current write pointer */ \
int delta_elems; /* how many elements allocated when the sequence grows
(sequence granularity) */ \
CvMemStorage* storage; /* where the seq is stored */ \
CvSeqBlock* free_blocks; /* free blocks list */ \
CvSeqBlock* first; /* pointer to the first sequence block */
typedef struct CvSeq
{
CV_SEQUENCE_FIELDS()
} CvSeq;
이의는이 같은 cvFindContours 전화를 가정 해 봅시다 : 138 (OpenCV의 2.1)는 다음과 같이 CvSeq가 정의되어 있다고 . 경계 사각형을 가져 오려면 cvBoundingRect
에 전달하면됩니다. 시퀀스의 다음 윤곽선은 contours->h_next
을 통해 액세스 할 수 있습니다. 윤곽 트리의 경우, 즉 윤곽선이 이미지의 다른 윤곽선 안에있을 때 contours->v_next
을 통해 현재 윤곽선의 첫 번째 내부 윤곽에 액세스 할 수 있습니다. 다음 내부 윤곽선이있는 경우 contours->v_next->h_next
등이됩니다.
시퀀스를 배열로 변환하려면 cvCvtSeqToArray
을 사용할 수 있습니다.
OpenCV 2.0에서 시작하여 사용하기가 더 좋은 C++ 인터페이스를 사용할 수도 있습니다. 예를 들어 CvSeq** contours
의 매개 변수가 cvFindContours
이면 vector<vector<Point> >& contours
이됩니다.
관련 문제
- 1. 파이썬 CvSeq 요소 변경
- 2. 배열에 객체 저장
- 3. 배열에 열 저장
- 4. 부호없는 문자 배열에 저장
- 5. 배열에 값 저장
- 6. 배열에 데이터베이스 레코드 저장
- 7. 문자열을 배열에 저장 하시겠습니까?
- 8. 배열에 이미지 저장
- 9. 선택한 행을 JavaScript 배열에 저장
- 10. 스레드를 사용하여 배열에 숫자 저장
- 11. 배열의 항목을 다른 배열에 저장
- 12. 배열에 db 내용을 저장 PHP
- 13. PHP - 다차원 배열에 mysql_fetch_assoc 저장
- 14. SGML을 파싱하고 PHP 배열에 저장
- 15. C 배열에 여러 항목 저장
- 16. PHP를 사용하여 배열에 객체 저장
- 17. 배열을 연관 배열에 값으로 저장
- 18. 자바 : JOptionPane의 객체 배열에 데이터 저장
- 19. PHP로 배열에 모든 링크 URL 저장
- 20. 자바 스크립트 배열에 DOM 참조 요소 저장
- 21. 임시 배열에 자바 스크립트로 답변 저장 하시겠습니까?
- 22. NSDocumentDirectory에서 모든 이미지를 검색하고 배열에 저장
- 23. 배열에 저장해야합니까?
- 24. 큰 이미지의 경우 OpenCV CvSeq 재귀 요소 액세스가 실패합니까?
- 25. 텍스처가 webgl에로드되지 않습니다. 2D 캔버스에서 읽고 조작하여 배열에 저장
- 26. jquery/javascript - 배열에 대한 참조 저장 - 배열 값이 아님
- 27. 웹 사이트에서 데이터를 가져 와서 배열에 저장 - iPhone SDK
- 28. 자바 스크립트로 for 루프가있는 배열에 FB.api 호출의 응답 저장
- 29. 배열에 있다면?
- 30. addressbookUI 데이터를 배열에 저장합니다.