我是这里的新手,我一直在尝试在我的代码块IDE上设置OpenCV。我不确定出了什么问题。我使用的是Windows7、64位系统和代码块,我还下载了2-4.3版本的OpenCV。
我试着按照这里的手册说明操作,但无济于事:http://opencv.willowgarage.com/wiki/CodeBlocks
尽管我正在尝试使用代码块,但我也尝试过:在Visual C++2010学习版中安装OpenCV 2.4.3
我的路径设置为:C: \OpenCV\build\x64\vc10\bin
对于选项卡"搜索目录"下的编译器设置:"编译器":C:\OpenCV\build\include"链接器":C:\OpenCV\build\x64\vc10\lib
然后在"链接器设置"选项卡下,我有来自C: \OpenCV\build\x64\vc10\lib
我试着把它作为我的测试程序运行,它会给我一个错误读数,连接到operations.hpp头文件:
#include "opencv2/highgui/highgui.hpp"
#include "iostream"
using namespace cv;
using namespace std;
int main()
{
Mat im = imread("c:/full/path/to/lena.jpg");
if (im.empty())
{
cout << "Cannot load image!" << endl;
return -1;
}
imshow("Image", im);
waitKey(0);
}
错误显示:
C:OpenCVbuildincludeopencv2coreoperations.hpp|3915|error: expected primary-expression before '>' token|
C:OpenCVbuildincludeopencv2coreoperations.hpp|3915|error: expected primary-expression before ')' token|
还有一堆其他的东西,但这是前两个错误。
因此,我的两个问题是:
1) 我是否正确设置了IDE
2) OpenCV代码有问题吗
这个问题的解决方案是编辑operations.cpp文件的第3915行。正确的返回参数是
return _create(name).Ptr<_Tp>();
您尝试过包含opencv核心吗?
#include "opencv2/core/core.hpp"
我的假设是,您没有使用核心函数,因此您的代码无法识别某些函数。