2014-01-16 88 views
0

我在C++中很新穎,我試圖使用OpenCV提供的一些庫。問題是,當我把下面的代碼,它說:錯誤:使用OpenCV時Mat不明確

Error: Mat is ambiguous

,這是我在其他職位已經閱讀這意味着,編譯器無法選擇哪些功能選擇,但這正是它是怎麼叫的OpenCV教程也是如此。 http://docs.opencv.org/doc/tutorials/introduction/display_image/display_image.html

Mat A; 

編輯:我已經寫到現在的代碼是在.h文件:

#pragma once 
#include <E:\opencv\build\include\opencv2/highgui/highgui.hpp> 
#include <E:\opencv\build\include\opencv2/core/core.hpp> 

using namespace cv; 
class Face_Detection 
{ 
public: 
    Face_Detection(); 

    ~Face_Detection(); 

}; 
int main(){ 

    cv::Mat image; 
    //A = imread(argv[1], CV_LOAD_IMAGE_COLOR); 

    return 1; 
} 
+1

你寫的''主要在()你的頭文件? – herohuyongtao

+0

我認爲它可能不是最好的想法,但我來自java,其中至少有一個文件是我用它來工作的,所以我儘量使它儘可能簡單。但是,那是爲什麼我有這個錯誤? – user2466854

回答

5

您可以包括其他的lib /文件還定義了一個Mat型。嘗試使用,即通過明確添加其命名空間cv

cv::Mat A; 

來避免歧義。


編輯:

包括你的OpenCV頭文件的方式讓我覺得你沒有正確使用OpenCV的。嘗試首先按照以下文章正確設置OpenCV,包括include/library/...

+0

非常感謝。它似乎工作。只有2個問題。爲什麼它需要在前面的簡歷,即使我已經包含了教程中的文件呢?其次它表示預計會有一個「;」即使我已經把它。非常感謝您的時間 – user2466854

+0

@ user2466854對於第一季度:就像在答案中所說的那樣,您需要避免模棱兩可。對於第二季度:您是否已經安裝了OpenCV? – herohuyongtao

+0

我已經下載了.exe文件,如果這是你的意思,它會提取這些文件。並通過我所包含的兩個文件。我的代碼是精確的,就像在本教程的網站一樣,直到墊圖像的行。 – user2466854