我成功安装并链接并包含了OpenCV。 (我知道它成功了,因为我编译并运行了opencv程序found on this site)
所以我回到了OpenCV文档和教程页面。我复制了from this page下面的确切代码。
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
if( argc != 2)
{
cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;
}
Mat image;
image = imread(argv[1], CV_LOAD_IMAGE_COLOR); // Read the file
if(!image.data ) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return -1;
}
namedWindow( "Display window", WINDOW_AUTOSIZE );// Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
}
//This is the end
(在fedora20上运行代码块) 使用项目&gt;&gt;设置我在“/home/Kennedy/Pictures/enterprise.bmp”中输入的程序参数,不带引号。
由于我正在使用bmp文件(supported),并且文件路径正确,任何人都可以建议为什么代码块会吐出来
/home/Kennedy/Documents/workspace/OpenCVtest/main.cpp|21|error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope|
而不是运行一个可爱的小第一个程序?
作为参考,我已阅读但未找到有关this,this以及其他Q&amp; As on stackoverflow,codeblocks论坛以及我能想到的其他任何地方的帮助。我也看到this,但我对WINDOW_AUTOSIZE没有问题。
编辑添加另一个被瞄准的解决方案: 我将enterprise.bmp复制并粘贴到包含项目的文件夹中,删除了参数,并用“enterprise.bmp”替换了argv 1。这没有效果,我仍然得到同样的错误。
答案 0 :(得分:17)
这意味着您可能正在编译opencv 3.0。符号&#34; CV_LOAD_IMAGE_COLOR&#34;已替换为&#34; cv :: IMREAD_COLOR&#34;。只需编辑文件就可以了。它是Caffe中唯一不推荐使用的符号。
答案 1 :(得分:-1)
我安装ubuntu和opencv时遇到同样的问题。
我尝试更改标题包含文件,如下所示,问题已解决并成功运行。
但我不知道为什么,谁能提供帮助?
我的更改是注释掉opencv.hpp头文件并添加cv.h和highgui_c.h ......
#include <opencv/cv.h>
#include <opencv2/highgui/highgui_c.h>
//#include <opencv2/opencv.hpp>