Reimplemented from Impala::Visualization::VideoJpgPlayerListener. Definition at line 39 of file VideoPlayerListener.h. References Impala::Application::SDash::RegionsOfInterestInfo::GetFrameHeight(), OglGui::View::GetImage(), Impala::Application::SDash::RegionsOfInterestInfo::GetRoisScaled(), mDetectedPersons, mVideoId, mVideos, Impala::Application::SDash::VideoPlayerView::SetFrameNr(), Impala::Application::SDash::VideoPlayerView::SetRegionsOfInterest(), Impala::Application::SDash::VideoPlayerView::SetRoiNr(), and Impala::Application::SDash::VideoPlayerView::SetVideoId(). 00040 { 00041 VideoPlayerView* theView = (VideoPlayerView*) userData; 00042 00043 static const int imageWidth = theView->GetImage()->w; 00044 static const int imageHeight = theView->GetImage()->h; 00045 static const float scale = (float) imageHeight / (float) mDetectedPersons.GetFrameHeight(); 00046 00047 std::vector<RegionsOfInterestInfo::ScaledRegion> regions; 00048 if (!mVideos[mVideoId].IsMovementFrame(frameNr)) 00049 regions = mDetectedPersons.GetRoisScaled(mVideoId, frameNr, scale); // SK: correct for frame start nr 00050 //else 00051 // printf("no roi's displayed for movement frame %i of video %i\n", frameNr, mVideoId); 00052 00053 // normalize every frame once (and not on every display event!) 00054 int nrOfRegions = regions.size(); 00055 for (int i = 0; i < nrOfRegions; i++) 00056 { 00057 RegionsOfInterestInfo::ScaledRegion& region = regions[i]; 00058 region.left = region.left / imageWidth; 00059 region.top = region.top / imageHeight; 00060 region.width = region.width / imageWidth; 00061 region.height = region.height / imageHeight; 00062 } 00063 00064 theView->SetVideoId(mVideoId); 00065 theView->SetFrameNr(frameNr); 00066 theView->SetRegionsOfInterest(regions); 00067 theView->SetRoiNr(-1); 00068 }
Here is the call graph for this function:
|