2011-04-11 6 views
1

OpenCV로 샘플 코드로 제공되는 blobtrack.cpp 코드를 이해하려고합니다. CvBlobTrackerAuto라는이 코드 클래스가 사용됩니다. 이 클래스에 대해 documentation을 찾으려고했지만 자세한 설명은 제공하지 않습니다.OpenCV에서 CvBlobTrackerAuto 클래스 란 무엇입니까?

저는 특히
CvBlobTrackerAuto::Process(IplImage *pImg, IplImage *pMask = NULL) 기능에 관심이 있습니다. 이것이 무엇이며이 마스크의 작업은 여기에서 사용됩니까?

내가 지난 몇 주 동안 CvBlobTrackerAuto과 협력 한 사전

+0

OpenCV 메일 링 그룹에서이 질문을했을 때 다음 링크로 이동했습니다. 이 문서에서는 OpenCV Blobtracker 및 해당 모듈 https://code.ros.org/trac/opencv/export/490/trunk/opencv/doc/vidsurv/Blob_Tracking_Modules에 대해 설명합니다.doc 희망이 BLOBtracker을 공부하는 사람에게 도움이 될 것입니다 – Niroshan

답변

5

에 감사드립니다. 내가 알아 낸 것들 중 몇 가지는 다음과 같다.

CvBlobTrackerAuto::Process은 추적 정보 (얼룩 및 위치)를 업데이트하기 위해 마지막으로 캡처 한 이미지를 처리하는 데 사용됩니다. 실제로 CvBlobTrackerAutoCvBlobTrackerAuto::Process에 대한 구현을 제공하지 않으므로 추상 클래스입니다. 유일하게 구체적인 구현은 (필자가 알 수있는 한) CvBlobTrackerAuto1이며 blobtrackingauto.cpp에서 찾을 수 있습니다.

  • 전경 감지 :이 전경에 해당하는 바이너리 마스크를 생산 CvBlobTrackerAuto1::Process이 무엇

    는 다음 파이프 라인을 구현하는 것입니다.

  • 얼룩 추적 : 얼룩의 위치를 ​​업데이트합니다. 평균 이동, 입자 필터 또는 이들의 조합을 사용할 수 있습니다.
  • 후 처리 : (이 섹션의 기능에 대해 잘 모르겠습니다.)
  • 블롭 삭제 : 거기에있는 설명에 따르면 "실험적이고 간단합니다". 그것은 너무 작거나 마지막 프레임의 이미지 테두리 근처에있는 얼룩을 삭제합니다.
  • 얼룩 감지 : 새 얼룩을 감지합니다. enterblobdetection.cpp를 참조하십시오.
  • 궤도 생성 : (무엇을하는지 확실하지 않음).
  • 트랙 분석 : (. 그것이 무엇하지만 기억하고 확실하지 않은 코드를 읽고는 BLOB 추적에 영향이 없다고 결정, 그래서 그것을 해제하는 데.)이 특정 구현에서

에게 CvBlobTrackerAuto::Process이면 pMask 매개 변수가 전혀 사용되지 않습니다. 디폴트 값은 NULL이며 변수에 한 번만 할당됩니다. 나중에 일부 라인을 덮어 쓰게됩니다.

samples/c/blobtrack_sample.cpp에서 찾을 수있는 OpenCv 샘플은이 CvBlobTrackerAuto1 클래스 주위에 구축되어 파이프 라인의 각 모듈에 다른 옵션을 제공합니다.

도움이되기를 바랍니다.

+0

매우 자세한 답변 및 추가 정보 주셔서 감사합니다 – Niroshan

1

OpenCV 메일 그룹에 같은 질문을 게시했을 때이 링크로 이동했습니다. This doc은 OpenCV Blobtracker와 그 모듈을 설명합니다.
관심있는 사람에게 도움이되기를 바랍니다.

+0

위의 링크는 svn에 connectiong에 대한 사용자 이름과 암호를 묻습니다. 너는 어떤 생각을 가지고 있니? – Horizon1710

+0

@ Horizon1710 그들은 파일을 다른 위치로 옮겼습니다. 새 위치에 대한 링크를 업데이트했습니다. – Niroshan

관련 문제