MCPcopy Create free account
hub / github.com/Smorodov/Multitarget-tracker / DetectContour

Method DetectContour

src/Detector/MotionDetector.cpp:44–72  ·  view source on GitHub ↗

\brief MotionDetector::DetectContour

Source from the content-addressed store, hash-verified

42/// \brief MotionDetector::DetectContour
43///
44void MotionDetector::DetectContour()
45{
46 m_regions.clear();
47 std::vector<std::vector<cv::Point>> contours;
48 std::vector<cv::Vec4i> hierarchy;
49#if (CV_VERSION_MAJOR < 4)
50 cv::findContours(m_fg, contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE, cv::Point());
51#else
52 cv::findContours(m_fg, contours, hierarchy, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE, cv::Point());
53#endif
54 for (size_t i = 0; i < contours.size(); ++i)
55 {
56 cv::Rect br = cv::boundingRect(contours[i]);
57
58 if (br.width >= m_minObjectSize.width &&
59 br.height >= m_minObjectSize.height)
60 {
61 if (m_useRotatedRect)
62 {
63 cv::RotatedRect rr = cv::minAreaRect(contours[i]);
64 m_regions.push_back(CRegion(rr));
65 }
66 else
67 {
68 m_regions.push_back(CRegion(br));
69 }
70 }
71 }
72}
73
74///
75/// \brief MotionDetector::Detect

Callers

nothing calls this directly

Calls 4

CRegionClass · 0.85
clearMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected