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

Method DetectThread

async_detector/AsyncDetector.cpp:384–403  ·  view source on GitHub ↗

\brief AsyncDetector::DetectThread \param

Source from the content-addressed store, hash-verified

382/// \param
383///
384void AsyncDetector::DetectThread(const config_t& config, cv::Mat firstFrame, FramesQueue* framesQue, bool* stopFlag)
385{
386 cv::UMat ufirst = firstFrame.getUMat(cv::ACCESS_READ);
387 std::unique_ptr<BaseDetector> detector = BaseDetector::CreateDetector(tracking::Detectors::Yolo_Darknet, config, ufirst);
388
389 for (; !(*stopFlag);)
390 {
391 frame_ptr frameInfo = framesQue->GetLastUndetectedFrame();
392 if (frameInfo)
393 {
394 detector->Detect(frameInfo->m_clFrame);
395
396 const regions_t& regions = detector->GetDetects();
397 frameInfo->m_regions.assign(regions.begin(), regions.end());
398
399 frameInfo->m_inDetector.store(FrameInfo::StateCompleted);
400 framesQue->Signal(frameInfo->m_dt);
401 }
402 }
403}
404
405///
406/// \brief AsyncDetector::TrackingThread

Callers

nothing calls this directly

Calls 4

beginMethod · 0.80
endMethod · 0.80
DetectMethod · 0.45

Tested by

no test coverage detected