簡體   English   中英

使用visual c ++和open cv進行對象跟蹤

[英]object tracking using visual c++ & open cv

我是新手,在這里設置openCV配置。 用開放式CV配置visual c ++我正在使用visual c ++ 2013桌面版和開放式CV beta 3.0版。 我已從下面的鏈接下載了源代碼。 &程序如下。 我該如何運行這個程序進行測試。 如果我們仔細檢查視頻他們正在添加調試OPENCV_DEBUG243文件我沒有得到但手動配置

//objectTrackingTutorial.cpp

//Written by  Kyle Hounslow 2013

//Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software")
//, to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 
//and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

//The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
//IN THE SOFTWARE.

#include <sstream>
#include <string>
#include <iostream>
#include <opencv\highgui.h>
#include <opencv\cv.h>

using namespace cv;
//initial min and max HSV filter values.
//these will be changed using trackbars
int H_MIN = 0;
int H_MAX = 256;
int S_MIN = 0;
int S_MAX = 256;
int V_MIN = 0;
int V_MAX = 256;
//default capture width and height
const int FRAME_WIDTH = 640;
const int FRAME_HEIGHT = 480;
//max number of objects to be detected in frame
const int MAX_NUM_OBJECTS = 50;
//minimum and maximum object area
const int MIN_OBJECT_AREA = 20 * 20;
const int MAX_OBJECT_AREA = FRAME_HEIGHT*FRAME_WIDTH / 1.5;
//names that will appear at the top of each window
const string windowName = "Original Image";
const string windowName1 = "HSV Image";
const string windowName2 = "Thresholded Image";
const string windowName3 = "After Morphological Operations";
const string trackbarWindowName = "Trackbars";
void on_trackbar(int, void*)
{//This function gets called whenever a
    // trackbar position is changed





}
string intToString(int number){


    std::stringstream ss;
    ss << number;
    return ss.str();
}
void createTrackbars(){
    //create window for trackbars


    namedWindow(trackbarWindowName, 0);
    //create memory to store trackbar name on window
    char TrackbarName[50];
    sprintf(TrackbarName, "H_MIN", H_MIN);
    sprintf(TrackbarName, "H_MAX", H_MAX);
    sprintf(TrackbarName, "S_MIN", S_MIN);
    sprintf(TrackbarName, "S_MAX", S_MAX);
    sprintf(TrackbarName, "V_MIN", V_MIN);
    sprintf(TrackbarName, "V_MAX", V_MAX);
    //create trackbars and insert them into window
    //3 parameters are: the address of the variable that is changing when the trackbar is moved(eg.H_LOW),
    //the max value the trackbar can move (eg. H_HIGH), 
    //and the function that is called whenever the trackbar is moved(eg. on_trackbar)
    //                                  ---->    ---->     ---->      
    createTrackbar("H_MIN", trackbarWindowName, &H_MIN, H_MAX, on_trackbar);
    createTrackbar("H_MAX", trackbarWindowName, &H_MAX, H_MAX, on_trackbar);
    createTrackbar("S_MIN", trackbarWindowName, &S_MIN, S_MAX, on_trackbar);
    createTrackbar("S_MAX", trackbarWindowName, &S_MAX, S_MAX, on_trackbar);
    createTrackbar("V_MIN", trackbarWindowName, &V_MIN, V_MAX, on_trackbar);
    createTrackbar("V_MAX", trackbarWindowName, &V_MAX, V_MAX, on_trackbar);


}
void drawObject(int x, int y, Mat &frame){

    //use some of the openCV drawing functions to draw crosshairs
    //on your tracked image!

    //UPDATE:JUNE 18TH, 2013
    //added 'if' and 'else' statements to prevent
    //memory errors from writing off the screen (ie. (-25,-25) is not within the window!)

    circle(frame, Point(x, y), 20, Scalar(0, 255, 0), 2);
    if (y - 25>0)
        line(frame, Point(x, y), Point(x, y - 25), Scalar(0, 255, 0), 2);
    else line(frame, Point(x, y), Point(x, 0), Scalar(0, 255, 0), 2);
    if (y + 25<FRAME_HEIGHT)
        line(frame, Point(x, y), Point(x, y + 25), Scalar(0, 255, 0), 2);
    else line(frame, Point(x, y), Point(x, FRAME_HEIGHT), Scalar(0, 255, 0), 2);
    if (x - 25>0)
        line(frame, Point(x, y), Point(x - 25, y), Scalar(0, 255, 0), 2);
    else line(frame, Point(x, y), Point(0, y), Scalar(0, 255, 0), 2);
    if (x + 25<FRAME_WIDTH)
        line(frame, Point(x, y), Point(x + 25, y), Scalar(0, 255, 0), 2);
    else line(frame, Point(x, y), Point(FRAME_WIDTH, y), Scalar(0, 255, 0), 2);

    putText(frame, intToString(x) + "," + intToString(y), Point(x, y + 30), 1, 1, Scalar(0, 255, 0), 2);

}
void morphOps(Mat &thresh){

    //create structuring element that will be used to "dilate" and "erode" image.
    //the element chosen here is a 3px by 3px rectangle

    Mat erodeElement = getStructuringElement(MORPH_RECT, Size(3, 3));
    //dilate with larger element so make sure object is nicely visible
    Mat dilateElement = getStructuringElement(MORPH_RECT, Size(8, 8));

    erode(thresh, thresh, erodeElement);
    erode(thresh, thresh, erodeElement);


    dilate(thresh, thresh, dilateElement);
    dilate(thresh, thresh, dilateElement);



}
void trackFilteredObject(int &x, int &y, Mat threshold, Mat &cameraFeed){

    Mat temp;
    threshold.copyTo(temp);
    //these two vectors needed for output of findContours
    vector< vector<Point> > contours;
    vector<Vec4i> hierarchy;
    //find contours of filtered image using openCV findContours function
    findContours(temp, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE);
    //use moments method to find our filtered object
    double refArea = 0;
    bool objectFound = false;
    if (hierarchy.size() > 0) {
        int numObjects = hierarchy.size();
        //if number of objects greater than MAX_NUM_OBJECTS we have a noisy filter
        if (numObjects<MAX_NUM_OBJECTS){
            for (int index = 0; index >= 0; index = hierarchy[index][0]) {

                Moments moment = moments((cv::Mat)contours[index]);
                double area = moment.m00;

                //if the area is less than 20 px by 20px then it is probably just noise
                //if the area is the same as the 3/2 of the image size, probably just a bad filter
                //we only want the object with the largest area so we safe a reference area each
                //iteration and compare it to the area in the next iteration.
                if (area>MIN_OBJECT_AREA && area<MAX_OBJECT_AREA && area>refArea){
                    x = moment.m10 / area;
                    y = moment.m01 / area;
                    objectFound = true;
                    refArea = area;
                }
                else objectFound = false;


            }
            //let user know you found an object
            if (objectFound == true){
                putText(cameraFeed, "Tracking Object", Point(0, 50), 2, 1, Scalar(0, 255, 0), 2);
                //draw object location on screen
                drawObject(x, y, cameraFeed);
            }

        }
        else putText(cameraFeed, "TOO MUCH NOISE! ADJUST FILTER", Point(0, 50), 1, 2, Scalar(0, 0, 255), 2);
    }
}
int main(int argc, char* argv[])
{
    //some boolean variables for different functionality within this
    //program
    bool trackObjects = false;
    bool useMorphOps = false;
    //Matrix to store each frame of the webcam feed
    Mat cameraFeed;
    //matrix storage for HSV image
    Mat HSV;
    //matrix storage for binary threshold image
    Mat threshold;
    //x and y values for the location of the object
    int x = 0, y = 0;
    //create slider bars for HSV filtering
    createTrackbars();
    //video capture object to acquire webcam feed
    VideoCapture capture;
    //open capture object at location zero (default location for webcam)
    capture.open(0);
    //set height and width of capture frame
    capture.set(CV_CAP_PROP_FRAME_WIDTH, FRAME_WIDTH);
    capture.set(CV_CAP_PROP_FRAME_HEIGHT, FRAME_HEIGHT);
    //start an infinite loop where webcam feed is copied to cameraFeed matrix
    //all of our operations will be performed within this loop
    while (1){
        //store image to matrix
        capture.read(cameraFeed);
        //convert frame from BGR to HSV colorspace
        cvtColor(cameraFeed, HSV, COLOR_BGR2HSV);
        //filter HSV image between values and store filtered image to
        //threshold matrix
        inRange(HSV, Scalar(H_MIN, S_MIN, V_MIN), Scalar(H_MAX, S_MAX, V_MAX), threshold);
        //perform morphological operations on thresholded image to eliminate noise
        //and emphasize the filtered object(s)
        if (useMorphOps)
            morphOps(threshold);
        //pass in thresholded frame to our object tracking function
        //this function will return the x and y coordinates of the
        //filtered object
        if (trackObjects)
            trackFilteredObject(x, y, threshold, cameraFeed);

        //show frames 
        imshow(windowName2, threshold);
        imshow(windowName, cameraFeed);
        imshow(windowName1, HSV);


        //delay 30ms so that screen can refresh.
        //image will not appear without this waitKey() command
        waitKey(30);
    }

    return 0;
}

錯誤我得到如下

1>------ Build started: Project: ObjectTrackingTest, Configuration: Debug Win32 ------
1>  ObjectTrackingTest.cpp
1>c:\program files (x86)\microsoft visual studio 12.0\vc\include\cwchar(29): error C2039: 'swprintf' : is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio 12.0\vc\include\cwchar(29): error C2873: 'swprintf' : symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio 12.0\vc\include\cwchar(30): error C2039: 'vswprintf' : is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio 12.0\vc\include\cwchar(30): error C2873: 'vswprintf' : symbol cannot be used in a using-declaration
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(38): warning C4244: 'initializing' : conversion from 'double' to 'const int', possible loss of data
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40): error C2146: syntax error : missing ';' before identifier 'windowName'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40): error C2440: 'initializing' : cannot convert from 'const char [15]' to 'int'
1>          There is no context in which this conversion is possible
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(41): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(41): error C2146: syntax error : missing ';' before identifier 'windowName1'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(41): error C2086: 'const int string' : redefinition
1>          c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40) : see declaration of 'string'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(41): error C2440: 'initializing' : cannot convert from 'const char [10]' to 'int'
1>          There is no context in which this conversion is possible
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(42): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(42): error C2146: syntax error : missing ';' before identifier 'windowName2'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(42): error C2086: 'const int string' : redefinition
1>          c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40) : see declaration of 'string'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(42): error C2440: 'initializing' : cannot convert from 'const char [18]' to 'int'
1>          There is no context in which this conversion is possible
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(43): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(43): error C2146: syntax error : missing ';' before identifier 'windowName3'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(43): error C2086: 'const int string' : redefinition
1>          c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40) : see declaration of 'string'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(43): error C2440: 'initializing' : cannot convert from 'const char [31]' to 'int'
1>          There is no context in which this conversion is possible
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(44): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(44): error C2146: syntax error : missing ';' before identifier 'trackbarWindowName'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(44): error C2086: 'const int string' : redefinition
1>          c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40) : see declaration of 'string'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(44): error C2440: 'initializing' : cannot convert from 'const char [10]' to 'int'
1>          There is no context in which this conversion is possible
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(54): error C2146: syntax error : missing ';' before identifier 'intToString'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(54): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(54): error C2373: 'string' : redefinition; different type modifiers
1>          c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(40) : see declaration of 'string'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(59): error C2440: 'return' : cannot convert from 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' to 'int'
1>          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(60): error C2617: 'intToString' : inconsistent return statement
1>          c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(54) : see declaration of 'intToString'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(65): error C3861: 'namedWindow': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(79): error C3861: 'createTrackbar': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(80): error C3861: 'createTrackbar': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(81): error C3861: 'createTrackbar': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(82): error C3861: 'createTrackbar': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(83): error C3861: 'createTrackbar': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(84): error C3861: 'createTrackbar': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(97): error C3861: 'circle': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(99): error C3861: 'line': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(100): error C3861: 'line': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(102): error C3861: 'line': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(103): error C3861: 'line': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(105): error C3861: 'line': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(106): error C3861: 'line': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(108): error C3861: 'line': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(109): error C3861: 'line': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(111): error C3861: 'putText': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(119): error C2065: 'MORPH_RECT' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(119): error C3861: 'getStructuringElement': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(121): error C2065: 'MORPH_RECT' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(121): error C3861: 'getStructuringElement': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(123): error C3861: 'erode': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(124): error C3861: 'erode': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(127): error C3861: 'dilate': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(128): error C3861: 'dilate': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(138): error C2065: 'vector' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(138): error C2059: syntax error : '>'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(139): error C2065: 'vector' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(139): error C2275: 'cv::Vec4i' : illegal use of this type as an expression
1>          h:\softwares\opencv\build\include\opencv2\core\matx.hpp(357) : see declaration of 'cv::Vec4i'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(139): error C2065: 'hierarchy' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(141): error C2065: 'contours' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(141): error C2065: 'hierarchy' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(141): error C3861: 'findContours': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(145): error C2065: 'hierarchy' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(145): error C2228: left of '.size' must have class/struct/union
1>          type is 'unknown-type'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(146): error C2065: 'hierarchy' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(146): error C2228: left of '.size' must have class/struct/union
1>          type is 'unknown-type'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(149): error C2065: 'hierarchy' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(151): error C2065: 'contours' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(151): error C3861: 'moments': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(159): warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(160): warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(170): error C3861: 'putText': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(176): error C3861: 'putText': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(196): error C2065: 'VideoCapture' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(196): error C2146: syntax error : missing ';' before identifier 'capture'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(196): error C2065: 'capture' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(198): error C2065: 'capture' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(198): error C2228: left of '.open' must have class/struct/union
1>          type is 'unknown-type'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(200): error C2065: 'capture' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(200): error C2228: left of '.set' must have class/struct/union
1>          type is 'unknown-type'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(201): error C2065: 'capture' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(201): error C2228: left of '.set' must have class/struct/union
1>          type is 'unknown-type'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(206): error C2065: 'capture' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(206): error C2228: left of '.read' must have class/struct/union
1>          type is 'unknown-type'
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(208): error C2065: 'COLOR_BGR2HSV' : undeclared identifier
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(208): error C3861: 'cvtColor': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(223): error C3861: 'imshow': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(224): error C3861: 'imshow': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(225): error C3861: 'imshow': identifier not found
1>c:\users\user\documents\visual studio 2013\projects\objecttrackingtest\objecttrackingtest\objecttrackingtest.cpp(230): error C3861: 'waitKey': identifier not found
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

源代碼實時跟蹤

它適用於opencv 2.4.10 VS 2013

請確保您已添加

#include "opencv2\opencv.hpp"
#include "opencv2\highgui\highgui.hpp"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM