首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

WindowsXP + OpenCV 2.0 + Netbeans 6.7 ( MinGW / Cygwin) 装配配置 详细图解【转】

2012-11-06 
WindowsXP + OpenCV 2.0 + Netbeans 6.7 ( MinGW / Cygwin) 安装配置 详细图解【转】按 F6 尝试编译运行,你

WindowsXP + OpenCV 2.0 + Netbeans 6.7 ( MinGW / Cygwin) 安装配置 详细图解【转】

按 F6 尝试编译运行,你会得到如下的错误提示:

main.cpp:1:67: cv.h: No such file or directory
main.cpp:2:21: highgui.h: No such file or directory

下一步,我们要来解决这个问题

3.2 添加 OpenCV 头文件目录

NetBeans 中,打开“项目”面板,找到你刚才新建的项目,右键点“属性”,点“C++编译器”一项,配置下拉列表中,选择“所有配置”,在“包含目录”一栏,填上你 OpenCV 头文件所在的目录(根据你安装OpenCV的实际情况),然后点“应用”,再点“确定”

WindowsXP + OpenCV 2.0 + Netbeans 6.7 ( MinGW / Cygwin) 装配配置 详细图解【转】

再按 F6 尝试编译运行,又会看到下一些错误提示,

/cygdrive/D/OpenCV2.0/include/opencv/cxoperations.hpp: In member function `void cv::Ptr<_Tp>::addref()':
In file included from /cygdrive/D/OpenCV2.0/include/opencv/cxcore.hpp:2243,
???????????????? from /cygdrive/D/OpenCV2.0/include/opencv/cxcore.h:2123,
???????????????? from /cygdrive/D/OpenCV2.0/include/opencv/cv.h:58,
???????????????? from main.cpp:1:

主要是讲某某文件,哪一行出错,点开一看发现这些行都是include "cxoperations.hpp",估计是 cxoperations.hpp 这个文件有问题

下面的步骤将解决这个问题

3.3 修改 cxoperations.hpp 文件

用 NetBeans 打开 cxoperations.hpp (在OpenCV Include 目录下),找到 68 行,将它修改成下面的样子(加上 || __MINGW__ )

WindowsXP + OpenCV 2.0 + Netbeans 6.7 ( MinGW / Cygwin) 装配配置 详细图解【转】

接着要在 g++ 编译选项中,添加 -D __MINGW__ 类似步骤 3.2 ,如下图

WindowsXP + OpenCV 2.0 + Netbeans 6.7 ( MinGW / Cygwin) 装配配置 详细图解【转】

再按 F6 尝试编译运行,这次编译没有错了,但是出现大量的undefined reference XXX 之类的连接错误,

/cygdrive/f/Class/CV/Exercise/test_opencv/main.cpp:13: undefined reference to `_cvLoadImage'
/cygdrive/f/Class/CV/Exercise/test_opencv/main.cpp:19: undefined reference to `cv::Mat::Mat(_IplImage const*, bool)'
/cygdrive/f/Class/CV/Exercise/test_opencv/main.cpp:35: undefined reference to `cv::cvtColor(cv::Mat const&, cv::Mat&, int, int)'
/cygdrive/f/Class/CV/Exercise/test_opencv/main.cpp:93: undefined reference to `cv::cvtColor(cv::Mat const&, cv::Mat&, int, int)'
/cygdrive/f/Class/CV/Exercise/test_opencv/main.cpp:96: undefined reference to `cv::namedWindow(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
/cygdrive/f/Class/CV/Exercise/test_opencv/main.cpp:100: undefined reference to `_cvShowImage'
/cygdrive/f/Class/CV/Exercise/test_opencv/main.cpp:104: undefined reference to `cv::waitKey(int)'

这个是一个常见的错误,通常就是由于没有包含一些库文件引起的,下面的步骤将解决这个问题

3.4 包含 OpenCV 库文件

类似 3.2 打开“项目属性”,点“链接器”,再点“库”旁边的小按钮,然后点“添加库”,将 OpenCV2.0\lib 目录中的所有文件(6个.dll.a文件),挨个添加进去,点“确定”,如下图

WindowsXP + OpenCV 2.0 + Netbeans 6.7 ( MinGW / Cygwin) 装配配置 详细图解【转】

再回到“项目属性”面板,添加“其他库目录”和“运行时搜索目录”,然后,点“确定”这个要根据你OpenCV的实际安装目录来,如下图

WindowsXP + OpenCV 2.0 + Netbeans 6.7 ( MinGW / Cygwin) 装配配置 详细图解【转】

再按 F6 尝试编译运行,终于通过了,但是提示无法载入图片,下面我们来解决最后的这个问题

3.5 复制 OpenCV2.0\samples\c\lena.jpg  

复制 OpenCV2.0\samples\c\lena.jpg  到 你的工程编译生成的.exe 文件 所在目录下,再次运行,你编译生成的 .exe 文件(不要按 F6 运行,而是直接双击 该 .exe 文件),成功了!下面可以开始 OpenCV 2.0 之旅了……

WindowsXP + OpenCV 2.0 + Netbeans 6.7 ( MinGW / Cygwin) 装配配置 详细图解【转】

**********************************************************************

百科百科 ? ? 问答系统: http://www.BaikeBaike.com

终极制造者 开源硬件: http://www.LastMaker.com

**********************************************************************

热点排行