2016-03-17 2 views
0
#include<opencv\cv.h> 
#include<opencv\highgui.h> 
#include<opencv2\videoio.hpp> 

using namespace cv; 

int main(){ 

    Mat image; 
    VideoCapture cap; 
    cap.open(0); 
    namedwindow("window",1); 
    while(1){ 
     cap>>image; 
     imshow("window",image); 
     waitKey(33); 
    } 
    return 0; 
} 

Когда я пытаюсь запустить программу выше, я получаю сообщение об ошибке, что идентификаторы «namedWindow», «imshow» и «waitkey» не определены. Я кодирую визуальную студию 2010.Неопределенные функции в opencv

+1

Может быть, это помогает: http://stackoverflow.com/questions/16299822/cant-use-opencv- Пространство имен –

+0

использовать 'C++' '' includes' #include #include #include ' –

ответ

0

Вы включаете устаревший код C. Чтобы включить правильные заголовки, используйте opencv2 и верните путь.

Обратите внимание, что вы можете избежать всех этих включает в себя, используя включают все: #include <opencv2/opencv.hpp>

#include<opencv2/core/core.hpp> 
#include<opencv2/highgui/highgui.hpp> 
#include<opencv2/video/video.hpp> 

// or use only: #include <opencv2/opencv.hpp> 

using namespace cv; 

int main(){ 

    Mat image; 
    VideoCapture cap; 
    cap.open(0); 
    namedWindow("window", 1); 
    while (1){ 
     cap >> image; 
     imshow("window", image); 
     waitKey(33); 
    } 
    return 0; 
} 
+0

благодарственное вы для ответа, это решило мою проблему, но теперь у меня появилась новая ошибка «ошибка LNK1104: невозможно открыть файл« opencv_core243.lib ». –

+0

Вы не правильно ссылаетесь на свои библиотеки. Кроме того, вы используете очень старую версию OpenCV. Я рекомендую перейти на версию 3.1 – Miki

0

если вы используете

#include<opencv\cv.h> 
#include<opencv\highgui.h> 

вы должны использовать разные, C функции, как cvNamedWindow("title"); и cvShowImage("title", img);

Используйте следующие C++ включает в себя:

#include <opencv2/highgui/highgui.hpp> 
#include <opencv2/core/core.hpp> 
#include <opencv2/imgproc/imgproc.hpp> 
#include <opencv2\opencv.hpp> 

(вы dont'h должны использовать все из них ...)