opencv + qt to do moving detection and tracking
to use UrbanTracker under ubuntu, you need instasll boost, and activate c++11
sudo apt-get install libboost-all-dev
#list(APPEND CMAKE_CXX_FLAGS "-std=c++0x -g -ftest-coverage -fprofile-arcs -msse -msse2 -msse3 -march=native")
list(APPEND CMAKE_CXX_FLAGS "-std=c++11 -g -ftest-coverage -fprofile-arcs -msse -msse2 -msse3 -march=native")
cmake && make
- TrackingApp/bin/TrackingApp
- QtGroundTruthBuilderApp/bin/QtGroundTruthBuilderApp
- MetricsEvaluationApp/bin/MetricsEvaluationApp
TrackingApp/bin/TrackingApp xxx/main.cfg
- error in parse xxx.cfg, add one line may crash.
- may not support for Chinese path, but support Chinese file.
- /home/yzbx/git/opencv-qt/linux/src/objectTracking/extern/UrbanTracker/src/PlaybackBGS.cpp:16:17: error: ‘setfill’ is not a member of ‘std’ add #include
we need use BGS library under qmake, and to choose a algorithm from QComboBox. thus we define class bgsFactory
- src/objectTracking/extern/bgslibrary cd build && cmake .. && sudo make install
- default make install have bug sudo cp -r package_bgs /usr/local/include/
- set bgslibrary for pkgconfig sudo cp bgslibrary.pc /usr/local/lib/pkgconfig
you need mkdir config
- IBGS.h have channged in UrbanTracker, we need modify, remove the use of getNbChannel() in file BlobDetector.cpp, and this file is encode with ISO-8859, not utf-8
// if(mBackgroundSubstractor->getNbChannel() == 1 && mMask.channels() > 1)
// cv::cvtColor(mMask, mMask, CV_BGR2GRAY);
// else if(mBackgroundSubstractor->getNbChannel() == 3 && mMask.channels() == 1)
// cv::cvtColor(mMask, mMask, CV_GRAY2BGR);
- I offer bgsFactory_yzbx for use bgslibrary in QComboBox
- modify .pro
CONFIG +=c++11
QMAKE_CXXFLAGS = "-g -ftest-coverage -fprofile-arcs -msse -msse2 -msse3 -march=native"
- remove PlaybackBGS
- update for bgslibray in UrbanTracker, such as LOBSTER
- cannot find sqlite, we need change the library order;
LIBS += \
-lUrbanTrackerLib \
-lexternal \
-lboost_system \
-lboost_program_options \
-lboost_filesystem \
- QSettings cannot deal with Chinese in ini file correctly, so I use json instead, but QtJson also work bad, I use qt-json in github instead.
- for QSettings not good for ini, I use boost instead