cf_tracking
cf_tracking copied to clipboard
videoio cv 3.0
Hi, I'm trying to run the program, but after a successful compilation I get a window with a choice of capture source. No camera is initialized, and if the initialization occurs, I get a black screen with no frames and messages about the impossibility to grab frames.
As far as I understand, the project must build on opencv 3.0, so my question is what the next version of the operating system and version you opencv was used in this build? Other projects openTLD I compiled fine with opencv 2.4.9 and as far as I understand cv 2 by default don't use videoinput library. I'am try build opencv 3.0 without videoinput, but do not get results.
How big is the integration of the project with opencv 3.0? Thank you for your attention.
I just updated the guide for the OpenCV 3.0 release version and compiled the trackers according to the guide: https://github.com/klahaag/cf_tracking/wiki I compiled and tested the project with OpenCV 3.0 (final) on Windows 7 (logitech usb webcam), Windows 8.1 (integrated laptop camera), and Xubuntu 15.04 (integrated laptop camera).
I chose OpenCV 3.0, because of intel's free IPPI tools that come with it. These speed up the FFT calculations. I coded the trackers for OpenCV 3.0 and do not know how much work would be required to use an older OpenCV version.
Just on a sidenote, you can test, if you can track the provided test sequence to check, if the problem only exists with the camera.
Well, I got the following:
- My question was about Cftld version. I was unable to make the project work with built-in isight camera and any other camera on the windows 8.1 with bootcamp. I get gray box window, loading videoinput 0.1995 and sometime "unable to grab" and no cam initialization.
- i'am build opencv on mac os 10.10.2 try to build with xcode and get following error in kcf_tracker.cpp - "No viable conversion from 'int' to 'std::shared_ptr<FFC>'" at line std::shared_ptr<FFC> _modelXf = 0;
- i'am try to replace it with std::shared_ptr<FFC> _modelXf; and get build. From this moment Cftld tracker work on mac os, i'am dont know how it must work, but with full hd webcam this is very slow, built-in isight worked better but this is not wow. As far as I understand this problem may be high resolution of stream from my webcams.
- But, yesterday I was able to compile cf_tracking project on other pc with windows 8.1 and run it with simple genius webcam with 640x480 resolution... And i can't believe, this is rock!
- In any case, Cftld does not running normal. I get black box wint no frames and runtime error after i try to set track area.
- Please tell me, replace std::shared_ptr<FFC> _modelXf = 0; with std::shared_ptr<FFC> _modelXf; this is wrong way? Please excuse me for my english.
- I tested cftld now on windows 8.1 and I get the same error/failure now. (This works on Windows 7 though.) The OpenTLD image acquisition code is quite old and I have to check how much work it would be to update it.
- This is fine as well. I have to check whether setting it to 0 is actually the standard initialization.
- The speed of cftld should be slightly slower compared to OpenTLD (at least as far as I tested it, but I tested with a 640x360 resolution). You can enable OpenMP in cmake with -DWITH_OPENMP=ON to increase the speed. This could be fast enough for HD streams (but probably not for full HD; I don't have a full HD camera...) However, I feel like there are still some bugs with OpenMP enabled. Thus, you should only consider this option for testing purposes.
- cf_tracking should be a lot faster than cftld, since it does not search the entire window for redetections. The redetections on cftld have a huge speed impact.