diff --git a/src/person.cpp b/src/person.cpp index 34afa3570ef51c887a71a2818c9cd9a7fcecd6b2..3dccb9f0ba733d11205194e1b635d70650808f99 100644 --- a/src/person.cpp +++ b/src/person.cpp @@ -45,10 +45,6 @@ void PersonList::searchEllipses(pet::StereoContext *sc, QRect &roi, BackgroundFi imgSize.width = disp->width; imgSize.height = disp->height; -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "go mkless : " << getElapsedTime() << endl; -#endif int x, y; float *pcData, *yPcData; @@ -204,10 +200,6 @@ void PersonList::searchEllipses(pet::StereoContext *sc, QRect &roi, BackgroundFi QTextStream ellipsOut(&ellipsFile); #endif -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "vor cont : " << getElapsedTime() << endl; -#endif step = 2.55 / ((max - min) / STEP_SIZE); // STEP_SIZE cm Schritte, daher 2.55, da min und max in meter for(threshold = step; threshold < 255 - step; threshold += step) // von kopf zum fuss = von klein nach gross @@ -387,10 +379,6 @@ void PersonList::searchEllipses(pet::StereoContext *sc, QRect &roi, BackgroundFi // take the next contour contours = contours->h_next; } -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "vor insert: " << getElapsedTime() << endl; -#endif insertEllipses(el, dist); @@ -419,10 +407,6 @@ void PersonList::searchEllipses(pet::StereoContext *sc, QRect &roi, BackgroundFi if(firstContour) cvClearSeq(firstContour); // not free only available for next push } -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "nach cont : " << getElapsedTime() << endl; -#endif optimize(); @@ -499,10 +483,6 @@ void PersonList::searchEllipses(pet::StereoContext *sc, QRect &roi, BackgroundFi cvReleaseImage(&gray); cvReleaseImage(&binImg); cvReleaseMemStorage(&storage); -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "ed search : " << getElapsedTime() << endl; -#endif } // el liste aller ellipsen eines thresholds der hoehe diff --git a/src/personStorage.cpp b/src/personStorage.cpp index 9bb4ab184d32da2d9053c3bc2eeca9a17bdb4976..24ef25b1976f624a458da16b167b6faae77c4939 100644 --- a/src/personStorage.cpp +++ b/src/personStorage.cpp @@ -813,19 +813,12 @@ void PersonStorage::checkPlausibility( QRectF rect = mMainWindow.getRecoRoiItem()->rect(); int lastFrame = mMainWindow.getAnimation()->getNumFrames() - 1; -#ifdef TIME_MEASUREMENT - double time1, tstart; -#endif // test, if the trajectory is very short (less than 10 Trackpoints) if(testLength) { progress.setValue(0); progress.setLabelText("Check trajectories lengths..."); qApp->processEvents(); -#ifdef TIME_MEASUREMENT - time1 = 0.0; - tstart = clock(); -#endif for(i = 0; i < static_cast<int>(mPersons.size()); ++i) // ueber TrackPerson { progress.setValue(static_cast<int>(i * 100. / mPersons.size())); @@ -837,11 +830,6 @@ void PersonStorage::checkPlausibility( frame.append(mPersons[i].firstFrame()); } } -#ifdef TIME_MEASUREMENT - time1 += clock() - tstart; - time1 = time1 / CLOCKS_PER_SEC; - cout << " time(testLength) = " << time1 << " sec." << endl; -#endif } // check, if trajectory starts and ends outside the recognition area @@ -850,10 +838,7 @@ void PersonStorage::checkPlausibility( progress.setValue(100); progress.setLabelText("Check if trajectories are inside image..."); qApp->processEvents(); -#ifdef TIME_MEASUREMENT - time1 = 0.0; - tstart = clock(); -#endif + for(i = 0; i < static_cast<int>(mPersons.size()); ++i) // ueber TrackPerson { qApp->processEvents(); @@ -885,11 +870,6 @@ void PersonStorage::checkPlausibility( frame.append(mPersons[i].lastFrame()); } } -#ifdef TIME_MEASUREMENT - time1 += clock() - tstart; - time1 = time1 / CLOCKS_PER_SEC; - cout << " time(testInside) = " << time1 << " sec." << endl; -#endif } // testen, ob grosse Geschwindigkeitsaenderungen @@ -899,10 +879,7 @@ void PersonStorage::checkPlausibility( qApp->processEvents(); progress.setValue(200); progress.setLabelText("Check velocity..."); -#ifdef TIME_MEASUREMENT - time1 = 0.0; - tstart = clock(); -#endif + double d01, d12, d23; for(i = 0; i < static_cast<int>(mPersons.size()); ++i) // ueber TrackPerson { @@ -927,11 +904,6 @@ void PersonStorage::checkPlausibility( } } } -#ifdef TIME_MEASUREMENT - time1 += clock() - tstart; - time1 = time1 / CLOCKS_PER_SEC; - cout << " time(testVelocity) = " << time1 << " sec." << endl; -#endif } // testen, ob zwei trackpoint sehr nah beieinanderliegen (es gibt trajektorien, die uebereinander liegen, wenn nicht @@ -941,10 +913,7 @@ void PersonStorage::checkPlausibility( progress.setValue(300); progress.setLabelText("Check if trajectories are equal..."); qApp->processEvents(); -#ifdef TIME_MEASUREMENT - time1 = 0.0; - tstart = clock(); -#endif + int lLF = largestLastFrame(); int f; for(f = smallestFirstFrame(); f <= lLF; ++f) @@ -971,11 +940,6 @@ void PersonStorage::checkPlausibility( } } } -#ifdef TIME_MEASUREMENT - time1 += clock() - tstart; - time1 = time1 / CLOCKS_PER_SEC; - cout << " time(testEqual) = " << time1 << " sec." << endl; -#endif } } diff --git a/src/petrack.cpp b/src/petrack.cpp index 08a4d71f1c8a52230950f65a09182ec50d01f7b1..5897c043b53a5abea83d62040e330fd257761eb9 100644 --- a/src/petrack.cpp +++ b/src/petrack.cpp @@ -2757,13 +2757,9 @@ void Petrack::exportTracker(QString dest) // default = "" mMultiColorMarkerWidget->autoCorrect->isChecked() && mMultiColorMarkerWidget->autoCorrectOnlyExport->isChecked(); - if(dest.right(4) == ".trc") - { -#ifdef TIME_MEASUREMENT - double time1 = 0.0, tstart; - tstart = clock(); -#endif - QTemporaryFile file; + if(dest.right(4) == ".trc") + { + QTemporaryFile file; if(!file.open() /*!file.open(QIODevice::WriteOnly | QIODevice::Text)*/) { @@ -2789,28 +2785,22 @@ void Petrack::exportTracker(QString dest) // default = "" trcVersion); QTextStream out(&file); - out << "version " << trcVersion << Qt::endl; - out << mPersonStorage.nbPersons() << Qt::endl; - const auto &persons = mPersonStorage.getPersons(); - for(size_t i = 0; i < persons.size(); ++i) - { - qApp->processEvents(); - progress.setLabelText(QString("Export person %1 of %2 ...").arg(i + 1).arg(mPersonStorage.nbPersons())); - progress.setValue(static_cast<int>(i + 1)); - out << persons[i] << Qt::endl; - } - file.flush(); - file.close(); -#ifdef TIME_MEASUREMENT - time1 += clock() - tstart; - time1 = time1 / CLOCKS_PER_SEC; - cout << " time(writing) = " << time1 << " sec." << endl; + out << "version " << trcVersion << Qt::endl; + out << mPersonStorage.nbPersons() << Qt::endl; + const auto &persons = mPersonStorage.getPersons(); + for(size_t i = 0; i < persons.size(); ++i) + { + qApp->processEvents(); + progress.setLabelText( + QString("Export person %1 of %2 ...").arg(i + 1).arg(mPersonStorage.nbPersons())); + progress.setValue(static_cast<int>(i + 1)); + out << persons[i] << Qt::endl; + } + file.flush(); + file.close(); - time1 = 0.0; - tstart = clock(); -#endif - progress.setLabelText(QString("Save file ...")); - qApp->processEvents(); + progress.setLabelText(QString("Save file ...")); + qApp->processEvents(); if(QFile::exists(dest)) { @@ -2835,22 +2825,8 @@ void Petrack::exportTracker(QString dest) // default = "" SPDLOG_INFO("finished."); mAutosave.resetTrackPersonCounter(); -#ifdef TIME_MEASUREMENT - time1 += clock() - tstart; - time1 = time1 / CLOCKS_PER_SEC; - cout << " time(copying) = " << time1 << " sec." << endl; - -// time1 = 0.0; -// tstart = clock(); -#endif - -#ifdef TIME_MEASUREMENT -// time1 += clock() - tstart; -// time1 = time1/CLOCKS_PER_SEC; -// cout << " time(checkPlausibility) = " << time1 << " sec." << endl; -#endif - mTrcFileName = dest; // fuer Project-File, dann koennte track path direkt mitgeladen werden, wenn er - // noch da ist + mTrcFileName = + dest; // fuer Project-File, dann koennte track path direkt mitgeladen werden, wenn er// noch da ist } else if(dest.right(4) == ".txt") { @@ -2864,59 +2840,40 @@ void Petrack::exportTracker(QString dest) // default = "" SPDLOG_INFO("export tracking data to {} ({} person(s))...", dest, mPersonStorage.nbPersons()); -#ifdef TIME_MEASUREMENT - double time1 = 0.0, tstart; - tstart = clock(); -#endif - // recalcHeight true, wenn personenhoehe ueber trackpoints neu berechnet werden soll (z.b. um + // recalcHeight true, wenn personenhoehe ueber trackpoints neu berechnet werden soll (z.b. um // waehrend play mehrfachberuecksichtigung von punkten auszuschliessen, aenderungen in altitude neu // in berechnung einfliessen zu lassen) - if(mControlWidget->isTrackRecalcHeightChecked()) - { - if(mControlWidget->getCalibCoordDimension() == 0) // 3D + if(mControlWidget->isTrackRecalcHeightChecked()) { - ; // Nothing to be done because z already the right height - } - else // 2D - { - mPersonStorage.recalcHeight(mControlWidget->getCameraAltitude()); + if(mControlWidget->getCalibCoordDimension() == 0) // 3D + { + ; // Nothing to be done because z already the right height + } + else // 2D + { + mPersonStorage.recalcHeight(mControlWidget->getCameraAltitude()); + } } - } -#ifdef TIME_MEASUREMENT - time1 += clock() - tstart; - time1 = time1 / CLOCKS_PER_SEC; - cout << " time(recalcHeight) = " << time1 << " sec." << endl; - time1 = 0.0; - tstart = clock(); -#endif - mTrackerReal->calculate( - this, - mTracker, - mImageItem, - mControlWidget->getColorPlot(), - mMissingFrames, - getImageBorderSize(), - mControlWidget->isTrackMissingFramesChecked(), - mStereoWidget->stereoUseForExport->isChecked(), - mControlWidget->getTrackAlternateHeight(), - mControlWidget->getCameraAltitude(), - mStereoWidget->stereoUseCalibrationCenter->isChecked(), - mControlWidget->isExportElimTpChecked(), - mControlWidget->isExportElimTrjChecked(), - mControlWidget->isExportSmoothChecked(), - mControlWidget->isExportViewDirChecked(), - mControlWidget->isExportAngleOfViewChecked(), - mControlWidget->isExportMarkerIDChecked(), - autoCorrectOnlyExport); -#ifdef TIME_MEASUREMENT - time1 += clock() - tstart; - time1 = time1 / CLOCKS_PER_SEC; - cout << " time(calculate) = " << time1 << " sec." << endl; - - time1 = 0.0; - tstart = clock(); -#endif + mTrackerReal->calculate( + this, + mTracker, + mImageItem, + mControlWidget->getColorPlot(), + mMissingFrames, + getImageBorderSize(), + mControlWidget->isTrackMissingFramesChecked(), + mStereoWidget->stereoUseForExport->isChecked(), + mControlWidget->getTrackAlternateHeight(), + mControlWidget->getCameraAltitude(), + mStereoWidget->stereoUseCalibrationCenter->isChecked(), + mControlWidget->isExportElimTpChecked(), + mControlWidget->isExportElimTrjChecked(), + mControlWidget->isExportSmoothChecked(), + mControlWidget->isExportViewDirChecked(), + mControlWidget->isExportAngleOfViewChecked(), + mControlWidget->isExportMarkerIDChecked(), + autoCorrectOnlyExport); QTextStream out(&file); @@ -2978,26 +2935,11 @@ void Petrack::exportTracker(QString dest) // default = "" statusBar()->showMessage(tr("Saved tracking data to %1.").arg(dest), 5000); } - SPDLOG_INFO("finished"); - -#ifdef TIME_MEASUREMENT - time1 += clock() - tstart; - time1 = time1 / CLOCKS_PER_SEC; - cout << " time(export) = " << time1 << " sec." << endl; - -// time1 = 0.0; -// tstart = clock(); -#endif - -#ifdef TIME_MEASUREMENT -// time1 += clock() - tstart; -// time1 = time1/CLOCKS_PER_SEC; -// cout << " time(checkPlausibility) = " << time1 << " sec." << endl; -#endif - } - else if(dest.right(4) == ".dat") - { - QTemporaryFile fileDat; + SPDLOG_INFO("finished"); + } + else if(dest.right(4) == ".dat") + { + QTemporaryFile fileDat; if(!fileDat.open()) //! fileDat.open(QIODevice::WriteOnly | QIODevice::Text)) { @@ -3279,12 +3221,6 @@ int Petrack::winSize(QPointF *pos, int pers, int frame, int level) void Petrack::updateImage(bool imageChanged) // default = false (only true for new animation frame) { -#ifdef TIME_MEASUREMENT - // die reine Ausgabe folgender Zeile kostet 1-2 Millisekunden - // "==========: " - debout << "go update: " << getElapsedTime() << endl; -#endif - mCodeMarkerItem->resetSavedMarkers(); static int lastRecoFrame = -10000; @@ -3313,10 +3249,6 @@ void Petrack::updateImage(bool imageChanged) // default = false (only true for n // Filter anwenden, Reihenfolge wichtig - Rechenintensive moeglichst frueh // fkt so nur mit kopierenden filtern -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "vor filter: " << getElapsedTime() << endl; -#endif if(imageChanged || swapChanged) { @@ -3345,10 +3277,6 @@ void Petrack::updateImage(bool imageChanged) // default = false (only true for n mImgFiltered = mBorderFilter.getLastResult(); } -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "nch filter: " << getElapsedTime() << endl; -#endif if(borderChanged) { updateControlImage(mImgFiltered); @@ -3362,10 +3290,6 @@ void Petrack::updateImage(bool imageChanged) // default = false (only true for n } #endif -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "vor calib: " << getElapsedTime() << endl; -#endif if(imageChanged || swapChanged || brightContrastChanged || borderChanged || calibChanged) { mImgFiltered = mCalibFilter->apply(mImgFiltered); @@ -3375,11 +3299,6 @@ void Petrack::updateImage(bool imageChanged) // default = false (only true for n mImgFiltered = mCalibFilter->getLastResult(); } -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "nach calib: " << getElapsedTime() << endl; -#endif - if(brightContrastChanged || swapChanged || borderChanged || calibChanged) { // abfrage hinzugenommen, damit beim laden von .pet bg-file angegeben werden kann fuer mehrere versuche und @@ -3404,11 +3323,6 @@ void Petrack::updateImage(bool imageChanged) // default = false (only true for n mImgFiltered = mBackgroundFilter.getLastResult(); } -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "nach bg: " << getElapsedTime() << endl; -#endif - // delete track list, if intrinsic param have changed if(calibChanged && mPersonStorage.nbPersons() > 0) // mCalibFilter.getEnabled() && { @@ -3470,10 +3384,6 @@ void Petrack::updateImage(bool imageChanged) // default = false (only true for n // if (mPrevIplImgFiltered) // wenn ein vorheriges bild vorliegt // mPrevIplImgFiltered == NULL zeigt an, dass neue bildfolge && mPrevFrame == -1 ebenso // winSize(), wurde mal uebergeben -#ifdef TIME_MEASUREMENT - debout << "vor track: " << getElapsedTime() << endl; -#endif - // debout << "test" << endl; int anz = mTracker->track( mImgFiltered, rect, @@ -3484,9 +3394,7 @@ void Petrack::updateImage(bool imageChanged) // default = false (only true for n mReco.getRecoMethod(), mControlWidget->getTrackRegionLevels(), getPedestriansToTrack()); -#ifdef TIME_MEASUREMENT - debout << "nach track: " << getElapsedTime() << endl; -#endif + mControlWidget->setTrackNumberNow(QString("%1").arg(anz)); mTrackChanged = false; borderChangedForTracking = false; @@ -3523,10 +3431,7 @@ void Petrack::updateImage(bool imageChanged) // default = false (only true for n myRound(mRecognitionRoiItem->rect().height())); QList<TrackPoint> persList; auto recoMethod = mReco.getRecoMethod(); -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "vor reco: " << getElapsedTime() << endl; -#endif + if((recoMethod == reco::RecognitionMethod::Casern) || (recoMethod == reco::RecognitionMethod::Hermes) || (recoMethod == reco::RecognitionMethod::Color) || (recoMethod == reco::RecognitionMethod::Japan) || (recoMethod == reco::RecognitionMethod::MultiColor) || @@ -3547,10 +3452,7 @@ void Petrack::updateImage(bool imageChanged) // default = false (only true for n pl.calcPersonPos(mImgFiltered, rect, &persList, mStereoContext, getBackgroundFilter(), markerLess); } #endif -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "nach reco: " << getElapsedTime() << endl; -#endif + mPersonStorage.addPoints(persList, frameNum, mReco.getRecoMethod()); // folgendes lieber im Anschluss, ggf beim exportieren oder statt test direkt del: @@ -3612,11 +3514,8 @@ void Petrack::updateImage(bool imageChanged) // default = false (only true for n semaphore.release(); } -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "stp update: " << getElapsedTime() << endl; -#endif } + void Petrack::updateImage(const cv::Mat &img) { mImg = img; diff --git a/src/player.cpp b/src/player.cpp index cf4274605ac56da412a60d8634c969c4e725ba89..e7c79a4ff0c10720643240d1b8f4fd7ccd2a5d82 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -248,10 +248,6 @@ bool Player::updateImage() return false; } qApp->processEvents(); -#ifdef TIME_MEASUREMENT - double time1 = 0.0, tstart; - tstart = clock(); -#endif QFuture<void> future = QtConcurrent::run([&]() { mMainWindow->updateImage(mImg); }); future.waitForFinished(); @@ -260,11 +256,6 @@ bool Player::updateImage() { mAviFile.appendFrame((const unsigned char *) mImg.data, true); } -#ifdef TIME_MEASUREMENT - time1 += clock() - tstart; - time1 = time1 / CLOCKS_PER_SEC; - cout << " time(update image) = " << time1 << " sec." << endl; -#endif mSlider->setValue( mAnimation->getCurrentFrameNum()); //(1000*mAnimation->getCurrentFrameNum())/mAnimation->getNumFrames()); mFrameNum->setText(QString().number(mAnimation->getCurrentFrameNum())); @@ -275,10 +266,6 @@ bool Player::updateImage() bool Player::forward() { qApp->processEvents(); -#ifdef TIME_MEASUREMENT - double time1 = 0.0, tstart; - tstart = clock(); -#endif bool should_be_last_frame = mAnimation->getCurrentFrameNum() == mAnimation->getSourceOutFrameNum(); @@ -291,27 +278,14 @@ bool Player::forward() SPDLOG_WARN("video unexpected finished."); } } -#ifdef TIME_MEASUREMENT - time1 += clock() - tstart; - time1 = time1 / CLOCKS_PER_SEC; - cout << " time(load frame) = " << time1 << " sec." << endl; -#endif + return updateImage(); } bool Player::backward() { qApp->processEvents(); -#ifdef TIME_MEASUREMENT - double time1 = 0.0, tstart; - tstart = clock(); -#endif mImg = mAnimation->getPreviousFrame(); -#ifdef TIME_MEASUREMENT - time1 += clock() - tstart; - time1 = time1 / CLOCKS_PER_SEC; - cout << " time(load frame) = " << time1 << " sec." << endl; -#endif return updateImage(); } diff --git a/src/stereoContext.cpp b/src/stereoContext.cpp index 243121f9fa8d69a961b33a060411b288e4352976..8bdcd250855a0e8d36cf1e5316de90550f125107 100644 --- a/src/stereoContext.cpp +++ b/src/stereoContext.cpp @@ -310,11 +310,6 @@ void pet::StereoContext::preprocess() // cameraRight is default, da disp mit diesem identisch IplImage *pet::StereoContext::getRectified(enum Camera camera) { -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "in rectify: " << getElapsedTime() << endl; -#endif - if((camera != cameraRight) && (camera != cameraLeft)) camera = mAnimation->getCaptureStereo()->getCamera(); @@ -420,12 +415,6 @@ IplImage *pet::StereoContext::getRectified(enum Camera camera) #endif -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "ou rectify: " << getElapsedTime() << endl; -#endif - - return &mRectRight; } else @@ -476,11 +465,6 @@ IplImage *pet::StereoContext::getRectified(enum Camera camera) IplImage *pet::StereoContext::getDisparity(bool *dispNew) { -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "in disp: " << getElapsedTime() << endl; -#endif - if(dispNew != NULL) *dispNew = false; if((mStatus & preprocessed) && !(mStatus & genDisparity)) @@ -1099,13 +1083,6 @@ IplImage *pet::StereoContext::getDisparity(bool *dispNew) mMax = SHRT_MAX; #endif - -#ifdef TIME_MEASUREMENT - // "==========: " - debout << "out disp: " << getElapsedTime() << endl; -#endif - - return &mDisparity; } else if(mStatus & genDisparity)