@@ -61,31 +61,31 @@ void AsyncDetector::Process()
6161
6262 int framesCounter = m_startFrame + 1 ;
6363
64- FrameInfo frames[2 ];
64+ frame_ptr frames[2 ];
6565 size_t frameInd = 0 ;
6666 for (;;)
6767 {
6868 // Show frame after detecting and tracking
6969 frames[frameInd] = m_framesQue.GetFirstProcessedFrame ();
70- FrameInfo& processedFrame = frames[frameInd];
70+ frame_ptr processedFrame = frames[frameInd];
7171
7272 int64 t2 = cv::getTickCount ();
7373
74- allTime += t2 - processedFrame. m_dt ;
75- int currTime = cvRound (1000 * (t2 - processedFrame. m_dt ) / freq);
74+ allTime += t2 - processedFrame-> m_dt ;
75+ int currTime = cvRound (1000 * (t2 - processedFrame-> m_dt ) / freq);
7676
77- DrawData (& processedFrame, framesCounter, currTime);
77+ DrawData (processedFrame, framesCounter, currTime);
7878
7979 if (!writer.isOpened ())
8080 {
81- writer.open (m_outFile, cv::VideoWriter::fourcc (' H' , ' F' , ' Y' , ' U' ), m_fps, processedFrame. m_frame .size (), true );
81+ writer.open (m_outFile, cv::VideoWriter::fourcc (' H' , ' F' , ' Y' , ' U' ), m_fps, processedFrame-> m_frame .size (), true );
8282 }
8383 if (writer.isOpened ())
8484 {
85- writer << processedFrame. m_frame ;
85+ writer << processedFrame-> m_frame ;
8686 }
8787
88- cv::imshow (" Video" , processedFrame. m_frame );
88+ cv::imshow (" Video" , processedFrame-> m_frame );
8989
9090 int waitTime = std::max<int >(1 , cvRound (1000 / m_fps - currTime));
9191 k = cv::waitKey (waitTime);
@@ -185,7 +185,7 @@ void AsyncDetector::DrawTrack(cv::Mat frame,
185185// / \brief AsyncDetector::DrawData
186186// / \param frameinfo
187187// /
188- void AsyncDetector::DrawData (FrameInfo* frameInfo, int framesCounter, int currTime)
188+ void AsyncDetector::DrawData (frame_ptr frameInfo, int framesCounter, int currTime)
189189{
190190 if (m_showLogs)
191191 {
@@ -315,20 +315,20 @@ void AsyncDetector::CaptureThread(std::string fileName, int startFrame, float* f
315315 // Capture frame
316316 for (; !(*stopFlag);)
317317 {
318- FrameInfo frameInfo;
319- frameInfo. m_dt = cv::getTickCount ();;
320- capture >> frameInfo. m_frame ;
321- if (frameInfo. m_frame .empty ())
318+ frame_ptr frameInfo ( new FrameInfo ()) ;
319+ frameInfo-> m_dt = cv::getTickCount ();;
320+ capture >> frameInfo-> m_frame ;
321+ if (frameInfo-> m_frame .empty ())
322322 {
323323 std::cerr << " Frame is empty!" << std::endl;
324324 *stopFlag = true ;
325325 break ;
326326 }
327- if (frameInfo. m_clFrame .empty ())
327+ if (frameInfo-> m_clFrame .empty ())
328328 {
329- frameInfo. m_clFrame = frameInfo. m_frame .getUMat (cv::ACCESS_READ );
329+ frameInfo-> m_clFrame = frameInfo-> m_frame .getUMat (cv::ACCESS_READ );
330330 }
331- cv::cvtColor (frameInfo. m_frame , frameInfo. m_gray , cv::COLOR_BGR2GRAY );
331+ cv::cvtColor (frameInfo-> m_frame , frameInfo-> m_gray , cv::COLOR_BGR2GRAY );
332332
333333 framesQue->AddNewFrame (frameInfo);
334334
@@ -356,16 +356,16 @@ void AsyncDetector::DetectThread(const config_t& config, cv::UMat firstGray, Fra
356356
357357 for (; !(*stopFlag);)
358358 {
359- FrameInfo& frameInfo = framesQue->GetLastUndetectedFrame ();
359+ frame_ptr frameInfo = framesQue->GetLastUndetectedFrame ();
360360
361- detector->Detect (frameInfo. m_clFrame );
362- // std::this_thread::sleep_for(std::chrono::milliseconds(100 ));
361+ detector->Detect (frameInfo-> m_clFrame );
362+ // std::this_thread::sleep_for(std::chrono::milliseconds(500 ));
363363
364364 const regions_t & regions = detector->GetDetects ();
365- frameInfo. m_regions .assign (regions.begin (), regions.end ());
365+ frameInfo-> m_regions .assign (regions.begin (), regions.end ());
366366
367- frameInfo. m_inDetector = 2 ;
368- framesQue->Signal (frameInfo. m_dt );
367+ frameInfo-> m_inDetector = 2 ;
368+ framesQue->Signal (frameInfo-> m_dt );
369369 }
370370}
371371
@@ -379,18 +379,18 @@ void AsyncDetector::TrackingThread(const TrackerSettings& settings, FramesQueue*
379379
380380 for (; !(*stopFlag);)
381381 {
382- FrameInfo& frameInfo = framesQue->GetFirstDetectedFrame ();
382+ frame_ptr frameInfo = framesQue->GetFirstDetectedFrame ();
383383 if (tracker->GrayFrameToTrack ())
384384 {
385- tracker->Update (frameInfo. m_regions , frameInfo. m_gray , frameInfo. m_fps );
385+ tracker->Update (frameInfo-> m_regions , frameInfo-> m_gray , frameInfo-> m_fps );
386386 }
387387 else
388388 {
389- tracker->Update (frameInfo. m_regions , frameInfo. m_clFrame , frameInfo. m_fps );
389+ tracker->Update (frameInfo-> m_regions , frameInfo-> m_clFrame , frameInfo-> m_fps );
390390 }
391391
392- frameInfo. m_tracks = tracker->GetTracks ();
393- frameInfo. m_inTracker = 2 ;
394- framesQue->Signal (frameInfo. m_dt );
392+ frameInfo-> m_tracks = tracker->GetTracks ();
393+ frameInfo-> m_inTracker = 2 ;
394+ framesQue->Signal (frameInfo-> m_dt );
395395 }
396396}
0 commit comments