Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

void Impala::Core::VideoSet::ShotSegmenterGUI::HandleNewFrame (  )  [inline, virtual]

Implements Impala::Visualization::AppControlSrc.

Definition at line 326 of file ShotSegmenterGUI.h.

References Impala::Core::VideoSet::ShotSegmenter::Blur(), BlurImage(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CH(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CW(), Impala::Core::Stream::RgbDataSrc::DataPtr(), Impala::Core::Stream::RgbDataSrc::FrameHeight(), Impala::Core::Stream::RgbDataSrc::FrameNr(), Impala::Core::Stream::RgbDataSrc::FrameWidth(), Impala::Core::VideoSet::ShotSegmenter::GetPredictionFrame(), Impala::Visualization::AppControlSrc::GetSrc(), Impala::Core::Stream::RgbDataSrc::GotoFrame(), Impala::Core::VideoSet::ShotSegmenter::HandleNewFrame(), Impala::Core::Array::ArraySystem::Instance(), Impala::Core::Array::ArraySystem::MarkMemoryUsage(), mBlurSigma, mDr, mPr, mPredictSrc, mScoresPlot, mShotSeg, Impala::Core::Array::MulVal(), mVideoDecision, mVideoProcess, mWeights, mWeightsView, Impala::Core::Array::PixMax(), Impala::Visualization::Plot::Plot::SetCenter(), Impala::Visualization::Plot::Plot::SetRange(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::SetValue(), and OglGui::View::SetZoom().

00327     {
00328         int ProcessFrame = GetSrc()->FrameNr();
00329         int PredictionFrame = mShotSeg->GetPredictionFrame();
00330         mPredictSrc->GotoFrame(PredictionFrame+1);
00331         mPr->SetValue(0,ProcessFrame-1,0);
00332         mPr->SetValue(0.5,ProcessFrame,0);
00333         mDr->SetValue(0,PredictionFrame-1,0);
00334         mDr->SetValue(0.5,PredictionFrame,0);
00335 
00336         mShotSeg->HandleNewFrame();
00337         //Update the frame
00338         ArraySystem::Instance().MarkMemoryUsage();
00339         Array2dVec3UInt8* rgb1 = Array::ArrayCreate<Array2dVec3UInt8>
00340                     (GetSrc()->FrameWidth(), GetSrc()->FrameHeight(), 
00341                         0, 0,mPredictSrc->DataPtr(),true);
00342         if(mShotSeg->Blur())
00343             BlurImage(rgb1,mBlurSigma);
00344         Array2dVec3UInt8* rgb2 = Array::ArrayCreate<Array2dVec3UInt8>
00345                     (GetSrc()->FrameWidth(), GetSrc()->FrameHeight(), 
00346                         0, 0,GetSrc()->DataPtr(),true);
00347         if(mShotSeg->Blur())
00348             BlurImage(rgb2,mBlurSigma);
00349 
00350         mVideoDecision->UpdateView(0,rgb1,"");
00351         mVideoProcess->UpdateView(0,rgb2,"");
00352         delete rgb1;
00353         delete rgb2;
00354 
00355         //Scale the weights for visualization
00356         MulVal(mWeights,mWeights,255/PixMax(mWeights));
00357 
00358         mScoresPlot->SetCenter(ProcessFrame-50,2,0);
00359         mScoresPlot->SetRange(100,5,1);
00360 
00361         mWeightsView->UpdateImage(mWeights,std::string(""));
00362         mWeightsView->SetZoom(mWeightsView->W()/mWeights->CW(),
00363                               mWeightsView->H()/mWeights->CH());
00364 
00365     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:33:55 2010 for ImpalaSrc by  doxygen 1.5.1