我在使用 visual studio 2010 安装 openCV 2.3 时遇到了很多麻烦。崩溃后崩溃,安装后安装,几周后我没有运气。 不幸的是,openCV 2.3 没有安装文档,目录结构和文件位置与 openCV 2.2 不同,这使得当前的教程几乎毫无用处。 :(
有没有人在 openCV 2.3 上取得过成功?有人可以试试吗,如果是 openCV 构建问题或我的设置问题,请告诉我?
或者也许有人可以建议 openCV 的替代方案。我的最终目标是获取像素信息、使用修复功能以及 After Effects 和 Maya 的基本图像处理。
编辑:对不起,我以为我犯了错误!这是我运行代码时发生的情况:
#include <iostream>
#include <cv.h>
#include <highgui.h>
using namespace cv;
int main()
{
Mat image;
image = imread( "c:/image1.png", 1 );
namedWindow( "Gray image", CV_WINDOW_AUTOSIZE );
imshow( "Gray image", image );
waitKey(0);
return 0;
}
它一直运行到 imshow。如果我注释掉 imshow,它运行良好,没有错误。 这是我添加 IMSHOW 时的错误:
openCV_test.exe 中 0x76bfb727 处的未处理异常:Microsoft C++ 异常:内存位置 0x0015ec20 处的 cv::Exception。它让我可以选择中断或继续。
这是输出窗口显示的内容:
openCV_test.exe 中 0x76bfb727 处的第一次机会异常:Microsoft C++ 异常:cv::Exception at memory location 0x0015ec20.. openCV_test.exe 中 0x76bfb727 处的未处理异常:Microsoft C++ 异常:内存位置 0x0015ec20 处的 cv::Exception..
然后它继续打开 SYSTEM.CPP 并给我这个:
- exc {msg="......\modules\core\src\array.cpp:2482: error: (-206) 无法识别或不支持的数组类型 "code=-206 err="无法识别或不支持的数组类型"...} const cv::Exception & + std::exception {_Mywhat=0x00000000 _Mydofree=false} std::exception + msg "......\modules\core\src\array.cpp:2482: error: (-206) 无法识别或不支持的数组类型 "std::basic_string,std::allocator > 代码-206 整数 + 错误“无法识别或不支持的数组类型”std::basic_string,std::allocator > + func ""std::basic_string,std::allocator > + 文件 "......\modules\core\src\array.cpp"std::basic_string,std::allocator > 第 2482 行 int
谢谢!
最佳答案
我有 OpenCV2.3,用 Visual Studio v9.0 安装它没问题。
您应该如何在所有 Visual Studio 版本中正确编译和运行您的项目:
项目的属性(右键单击它)
- C/C++
- 一般
- 包含目录添加<你的目录>\OpenCV2.3\include\opencv2、<你的目录>\OpenCV2.3\include\opencv和<你的目录>\OpenCV2.3\include
- 链接器
- 一般
- 添加lib目录<你的目录>\OpenCV2.3\lib
- 输入
- 添加所有库,如 opencv_core230d.lib opencv_highgui230d.lib 等等...
然后不要忘记将 dll 添加到您的系统路径中。 配置面板>系统>高级>环境变量>路径 您可以添加一个将覆盖另一个的用户环境路径, 只需单击新建(如果您以前从未将目录添加到系统路径)并写入路径,例如:<您的目录>\OpenCV2.3\bin
没有更多信息,我希望它能帮助...
朱利安
关于c++ - OpenCV 2.3 和 Visual Studio 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6666563/