\brief AsyncDetector::DetectThread \param
| 382 | /// \param |
| 383 | /// |
| 384 | void 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 |
nothing calls this directly
no test coverage detected