簡體   English   中英

C ++ opencv編譯錯誤-Windows 7 64位使用Eclipse CDT

[英]C++ opencv compilation error - Windows7 64-bit using Eclipse CDT

嘗試編譯此示例項目以熟悉OpenCV:

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

using namespace cv;

int main(int argc, char** argv)
{
    Mat image = imread(argv[1], 1);
    if (argc != 2 || !image.data) {
         printf("No image data \n");
         return -1;
    }

    namedWindow("Display Image", CV_WINDOW_AUTOSIZE);
    imshow("Display Image", image);

    waitKey(0);

    return 0;
} 

我收到以下編譯錯誤:

Description Resource    Path    Location    Type
Field 'data' could not be resolved  imageloader.cpp ‪/Session4‬ line 8  Semantic Error
Invalid arguments '
Candidates are:
void imshow(const std::basic_string<char,std::char_traits<char>,std::allocator<char>> &, const ? &)
void imshow(const ? &, ?)
'   imageloader.cpp ‪/Session4‬ line 14 Semantic Error

為什么不能訪問Mat對象內的字段? 不僅數據字段,而且所有字段。 我使用c-make和MinGW構建了opencv庫,並且在項目屬性中包含了相關的頭文件和lib路徑。

非常感激任何的幫助。

Mat中有一種特定的方法可以測試數據是否成功加載:

//如果矩陣數據為NULL,則返回true

bool empty()const;

因此,在您的代碼中,將if語句更改為:

if (argc != 2 || image.empty()) 

暫無
暫無

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

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