MCPcopy Create free account
hub / github.com/cmauri/eviacam / ProcessImage

Method ProcessImage

src/viacamcontroller.cpp:502–536  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

500}
501
502void CViacamController::ProcessImage (IplImage *pImage)
503{
504 WViacam::EFPSCondition cond;
505 long iFrameRate;
506 float vx, vy;
507 CIplImage image(pImage);
508 bool allowedByFaceLocalizationSystem;
509
510 // Refresh fps meter
511 m_frameRate= 0.5f * m_pCamera->GetRealFrameRate() + 0.5f * m_frameRate;
512 iFrameRate= (long) (m_frameRate + 0.5f);
513 if (iFrameRate< 20)
514 cond= WViacam::POOR;
515 else if (iFrameRate< 25)
516 cond= WViacam::FAIR;
517 else
518 cond= WViacam::GOOD;
519 m_pMainWindow->SetFPS (iFrameRate, cond);
520
521 // Proces frame
522 allowedByFaceLocalizationSystem = m_visionPipeline.ProcessImage (image, vx, vy);
523
524 if ((m_enabled && allowedByFaceLocalizationSystem) || m_motionCalibrationEnabled) {
525 // Send mouse motion
526 BEGIN_GUI_CALL_MUTEX()
527 if (m_motionCalibrationEnabled)
528 m_pMotionCalibration->ComputeMotionRange (-vx, vy, !(m_visionPipeline.GetTrackFace() && !m_visionPipeline.IsFaceDetected()));
529 else
530 m_pointerAction->ProcessMotion (-vx, vy);
531 END_GUI_CALL_MUTEX()
532 }
533
534
535 m_hotKeyManager->CheckKeyboardStatus();
536}
537
538bool CViacamController::StartMotionCalibration (void)
539{

Callers

nothing calls this directly

Calls 7

GetRealFrameRateMethod · 0.80
SetFPSMethod · 0.80
ComputeMotionRangeMethod · 0.80
GetTrackFaceMethod · 0.80
IsFaceDetectedMethod · 0.80
CheckKeyboardStatusMethod · 0.80
ProcessMotionMethod · 0.45

Tested by

no test coverage detected