void FileImageSource::getFrame(Mat &mat) { long p = getProcessingTime()*1000 + frameGettingTime*1000; if(p > interval) { qint64 start = QDateTime::currentMSecsSinceEpoch(); Mat m; int framesToDrop = p / interval; for(int i = 0; i<framesToDrop; i++) { retriveFrame(m); } dropped += framesToDrop; p = p % interval - (QDateTime::currentMSecsSinceEpoch() - start)*1000; } this->usleep(interval-p); qint64 start = QDateTime::currentMSecsSinceEpoch(); retriveFrame(mat); frameGettingTime = QDateTime::currentMSecsSinceEpoch() - start; }
bool IntelPerCStreamDepth::retrieveUVAsOutputArray(cv::OutputArray image) { return retriveFrame(CV_32FC2, 2, image); }
bool IntelPerCStreamDepth::retrieveIRAsOutputArray(cv::OutputArray image) { return retriveFrame(CV_16SC1, 1, image); }