error using MIL tracker,opencv_contrib [closed]
hi guys, below is the code for MIL tracking, i am getting error in including tracking.hpp and int he code its showing error in create("MIL") is not declared in this scope, i am using eclipse for compiling .
this is my include
please help guys
thanks
/*
* tracker.cpp
*
* Created on: 04/05/2017
* Author: zubair
*/
#include <opencv2/opencv.hpp>
#include <opencv2/core/utility.hpp>
#include <opencv2/tracking.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/highgui.hpp>
#include <stdio.h>
#include <iostream>
#include <cstring>
//#include "opencv2/roiSelector.hpp"
using namespace std;
using namespace cv;
int main( int argc, char** argv )
{
// declares all required variables
Rect2d roi;
Mat frame;
// create a tracker object
//Ptr<Tracker> tracker = Tracker::create("MIL");
Ptr<Tracker> tracker = Tracker::create("MIL") ;
// set input video
std::string video = argv[1];
VideoCapture cap(video);
// get bounding box
cap >> frame;
roi = selectROI("tracker",frame);
//quit if ROI was not selected
if(roi.width==0 || roi.height==0)
return 0;
// initialize the tracker
tracker->init(frame,roi);
// perform the tracking process
printf("Start the tracking process, press ESC to quit.\n");
for ( ;; )
{
// get frame from the video
cap >> frame;
// stop the program if no more images
if(frame.rows==0 || frame.cols==0)
break;
// update the tracking result
tracker->update(frame,roi);
// draw the tracked object
rectangle( frame, roi, Scalar( 255, 0, 0 ), 2, 1 );
// show image with the tracked object
imshow("tracker",frame);
//quit on ESC button
if(waitKey(1)==27)break;
}
return 0;
}
the exact error msg, please ?
did you really build the opencv_contrib modules ? was the tracking module built successfully ?
yes, it got build successfully ,, the tracking module too,, but i see that the tracking.hpp code inside is all commented why ?? and if i uncomment it , i get errors
https://pastebin.com/8BKthz3B this is the whole error,, including error in header from tracking.hpp
i have put the include screen shot ,, please look at it
no screenshots, please. give us a TEXT version of the error ;(
now we got 3 different, conflicting error reports. ;(
your pastebin seems to hint, that your opencv main and the opencv_contrib version do no match. (the screenshot even looks like you're trying with opencv2.4)
please clone latest master versions of both from github , clean your build folder, and try again
i did,, please check my comment .. i gave the whole error as pastebin link .
actually is just the problem with the tracking.hpp,, something is going wrong ..
i actually just build the extra module .. from this link https://github.com/opencv/opencv_contrib ,,
if
g++ -I/usr/local/include
does not find it, your install went wrong. (your include paths are all wrong)i dont have a build folder ,, just a make file :(
zubair@zubair-X541UV:~$ g++ -I/usr/local/include g++: fatal error: no input files compilation terminated. zubair@zubair-X541UV:~$
it couldnt find
how should i undo the extra module which i added in existing opencv ?'' and how to install then from build ? :(
sorry, i only meant - change the include path in your makefile (that's not the whole cmdline, ofc.)
please see here and here again. i'm quite sure, you missed some step, or overlooked some cmake or build problem on the way.
include for my opencv_contrib ?? you mean ?
one thing berek,, in this link http://docs.opencv.org/master/d7/d9f/... ,, what should i add in place of cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. what path ??
zubair@zubair-X541UV:~/opencv_contrib$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. CMake Error: The source directory "/home/zubair" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI. zubair@zubair-X541UV:~/opencv_contrib$
this is what i got after i follwed this link http://docs.opencv.org/master/d7/d9f/...
where should the binaries be build ?
you have to run cmake from your build folder
the last arg should be the opencv src root folder
i am follwoing the instruction here http://docs.opencv.org/3.2.0/de/d25/t... , so far its building good,, i will be back after its done
yes berek so i have build all with opencv_contrib in opencv source folder
what should i do next to rectify the error ?
which error, now ?
home/zubair/opencv_contrib/opencv_contrib/modules/tracking/include/opencv2/tracking/tracker.hpp:1341:56: error: template argument 1 is invalid CV_WRAP bool add(const Mat& image, std::vector<rect2d> boundingBox); ^ /home/zubair/opencv_contrib/opencv_contrib/modules/tracking/include/opencv2/tracking/tracker.hpp:1341:56: error: template argument 2 is invalid /home/zubair/opencv_contrib/opencv_contrib/modules/tracking/include/opencv2/tracking/tracker.hpp:1351:15: error: ‘Rect2d’ was not declared in this scope std::vector<rect2d> objects; ^
again, why am i getting errors in header file ? :(
please include headers from /usr/local/include, not from the src folder
i got the flow,, i have opencv3 which came with my ros kinect , and i need to buikd my opencv_contrib there ,,, opencv3 after locating is in /opt/ros/kinetic/share/opencv3 ..
i solved the error now u«its just one thing if you can help @berak
Invoking: GCC C++ Linker g++ -L/usr/local/lib -L/usr/local/include -L/usr/include -o "tracker" ./src/tracker.o -lopencv_imgproc -lopencv_utility -lopencv_videoio -lopencv_highgui -lopencv_vedio -lopencv_core -lopencv_tracking /usr/bin/ld: cannot find -lopencv_utility /usr/bin/ld: cannot find -lopencv_vedio collect2: error: ld returned 1 exit status makefile:45: recipe for target 'tracker' failed make: * [tracker] Error 1
how can i solve this