看到的不是自己的,只有写下来的才是自己的,上次接触OpenCV实在三个月前,亢奋的看完了OpenCV自带的入门文档,觉得对图形处理有了一点点了解,现在三个月过去了,由于学习需要,想深入了解OpenCV,发现之前学过的知识在脑袋里零零散散的,所以想重读入门文档,同时将其记录下来。部分内容我会根据自己的理解选择性的记录,如对原理不理解,建议阅读官方文档。
开发环境VS2010+Win7x64。当前VS2010支持的最新的OpenCV是opencv-2.4.11。从官方网站下载。
1.安装
打开exe,选择一个目录即可将已编译好的OpenCV库和其源代码解压出来,笔者解压目录E:openlib。若需要自行编译源码,请查看官网说明。
2.设置环境变量
为了开发软件和移植工程过程中更加方便,添加OPENCV_DIR环境变量。
(添加方法:计算机--属性--高级--环境变量--系统变量)
VS2010+32位系统 OPENCV_DIR E:openlibOpenCVBuildx86vc10
VS2010+64位系统 OPENCV_DIR E:openlibOpenCVBuildx64vc10
VS2012+32位系统 OPENCV_DIR E:openlibOpenCVBuildx86vc11
VS2012+64位系统 OPENCV_DIR E:openlibOpenCVBuildx64vc11
在path中增加 ;%OPENCV_DIR%bin
3.VS2010环境配置(VS2012类似)
新建控制台工程
编辑属性表属性,在C/C++--常规--附加包含目录中添加 $(OPENCV_DIR)....include
连接器--常规--附加库目录中添加 $(OPENCV_DIR)lib
链接器--常规--附加依赖项中添加
opencv_calib3d2411d.lib
opencv_contrib2411d.lib
opencv_core2411d.lib
opencv_features2d2411d.lib
opencv_flann2411d.lib
opencv_gpu2411d.lib
opencv_highgui2411d.lib
opencv_imgproc2411d.lib
opencv_legacy2411d.lib
opencv_ml2411d.lib
opencv_nonfree2411d.lib
opencv_objdetect2411d.lib
opencv_ocl2411d.lib
opencv_photo2411d.lib
opencv_stitching2411d.lib
opencv_superres2411d.lib
opencv_ts2411d.lib
opencv_video2411d.lib
opencv_videostab2411d.lib
其中2411代表当前版本号,d代表当前为调试版本。
Release配置中同样添加一个属性表。重复以上步骤。链接库如下:
opencv_calib3d2411.lib
opencv_contrib2411.lib
opencv_core2411.lib
opencv_features2d2411.lib
opencv_flann2411.lib
opencv_gpu2411.lib
opencv_highgui2411.lib
opencv_imgproc2411.lib
opencv_legacy2411.lib
opencv_ml2411.lib
opencv_nonfree2411.lib
opencv_objdetect2411.lib
opencv_ocl2411.lib
opencv_photo2411.lib
opencv_stitching2411.lib
opencv_superres2411.lib
opencv_ts2411.lib
opencv_video2411.lib
opencv_videostab2411.lib
4.测试环境
cpp文件中粘贴如下代码
1 #include <opencv2/core/core.hpp>
2 #include <opencv2/highgui/highgui.hpp>
3 #include <iostream>
4
5 using namespace cv;
6 using namespace std;
7
8 int main( int argc, char** argv )
9 {
10 Mat image;
11 // 打开当前目录下的lena.jpg文件
12 image = imread("lena.jpg", IMREAD_COLOR);
13
14 if(! image.data ) // 打开是否成功
15 {
16 cout << "Could not open or find the image" << std::endl ;
17 return -1;
18 }
19 //创建一个窗口用来显示图片
20 namedWindow( "Display window", WINDOW_AUTOSIZE );
21 //显示窗口
22 imshow( "Display window", image );
23 //等待用户按键
24 waitKey(0);
25 return 0;
26 }
当前目录下放入图片名为lena.jpg,运行程序,显示成功图片即配置成功。
5.属性表说明
为什么需要添加属性表?添加属性表的好处是属性表可以通用的,以后的项目如果需要使用OpenCV库,则可以直接添加现有属性表,完成OpenCV的配置。
本文结束。
原文链接: https://www.cnblogs.com/Reyzal/p/4599630.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/218176
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!