我成功地安装、链接和包含了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上运行代码块)使用>>项目设置程序的参数,我在“/home/肯尼迪/图片/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和其他问答的帮助,关于stackoverflow,codeblocks论坛,以及任何我能想到的地方。我也看过this,但我对WINDOW_AUTOSIZE没有意见。
编辑以添加另一个尝试的解决方案:我将enterprise.bmp复制并粘贴到包含项目的文件夹中,删除参数,并将argv1替换为"enterprise.bmp“。这没有效果,我仍然得到相同的错误。
发布于 2015-01-17 02:25:02
这意味着你很可能是在使用opencv 3.0进行编译。符号"CV_LOAD_IMAGE_COLOR“已替换为"cv::IMREAD_COLOR”。只需编辑该文件,您就会做得很好。这是Caffe中唯一不推荐使用的符号。
发布于 2014-11-11 00:52:42
我在安装ubuntu和opencv时也遇到了同样的问题。
我尝试修改头文件,如下所示,问题已经解决,并成功运行。
但我不知道为什么,谁能帮上忙?
我的更改是注释掉opencv.hpp头文件并添加cv.h和highgui_c.h ...
#include <opencv/cv.h>
#include <opencv2/highgui/highgui_c.h>
//#include <opencv2/opencv.hpp>https://stackoverflow.com/questions/24439548
复制相似问题