Opencv安装教程及第一个例子

首先,从opencv官网https://opencv.org/releases.html上下载。

bb9320673ad093d6fd826d6d967896f2.png

图1 opencv下载界面

如果想自己编译opencv的编代码,需要下载的是Source,建议初学者不要自己去编译源代码,而是直接使用已经编译好的文件。当然,你也可以从github网站https://github.com/opencv/opencv去下载opencv的源码。

b86d964c2244b09033481383081e0994.png

图2 github上的opencv源码

下载后,在你的电脑上应该有这样的文件。其实就是一个压缩文件,直接双击,选择安装目录,直接安装就行,然后配置环境变量。如下图

93a104db2b59f65567d2d13b25a37413.png

图3 配置opencv环境变量

上面的目录是安装opencv的目录。

这样,就把opencv安装好了,但是要在visual studio里面使用opencv,还需要导入opencv的头文件,dll文件等。首先打开visual studio软件,按照下图选择Visual c++项目,然后选择win32控制台应用程序,输入名称和位置,点击确定,然后下一步选择空项目

6abdf9537a1d4362124527d86dd61957.png

图4 新建控制台程序

2bd8d162d5eb7c9bca06fc504b763126.png

图5 选择空项目

点击确定完成,这样就新建了一个空的win32控制台项目。

然后选择属性管理器,具体位置如下图

9dcfa6ecf8b4b15f7bc6a0cd0d759b68.png

图6 选择属性管理器

在属性管理器上右键新建属性管理器,输入名称和位置,点击确定

a31eb28020a21829c876326e1dc0bd46.png

图7 添加新项目属性表

bb6a05e4c2c4d0ea3696ff29f776daef.png

图8 新添加的属性表

这时属性管理器多了一个“opencv40”,双击它,弹出属性页对话框,然后按照下面的图示配置属性表。

322b0be2e8a778b7c97135eb1343e359.png

d99c37877233cbd74bab543674c15f0b.png

f95f5da89688edeba8724d1a51df30ea.png

c7492478b5479d401c8a37b358b4e0ef.png

如上图,分别配置包含目录和库目录以及附加依赖项,在链接器-》输入-》附加依赖项中加入opencv_world400d.lib,直接确定,就配置完成了,有的opencv版本附加依赖项有多个lib文件,后来的版本将多个lib文件合并成了一个opencv_world400d.lib。以后,你可以在新建的项目里面直接包含该属性,这个文件在你的项目下面,直接拷贝该属性表到你新建项目的对应目录下,以后对于新的项目,就不需要重新配置opencv了。

点击解决方案资源管理器,选择源文件右键添加新项,选择c++源文件,然后就可以编写代码,调用opencv的函数,实现图像处理功能了。

b6e8b12538279dabf22a6c9805086d88.png

注意,可能运行opencv程序会出错,因为可能有的系统会缺少类似msvcp100d.dll,msvcr100d.dll这样的文件,这时需要自己去下载这些文件,放在系统文件夹下面就可以了。

下面来一个具体的例子,利用opencv显示视频图像,如果你的电脑上有摄像头,并且按照上面的方法配置好了opencv,那么,下面的例子可以直接运行看得到结果。 

#include

#include

#include

usingnamespace std;

usingnamespace cv;

int main(intarg, char** argv)

{

    namedWindow("读取摄像头图像", 0);//建立一个窗体用于显示视频图像,

    VideoCapture cap;//视频类

    cap.open(0);//打开摄像头,如果打开的是本地视频,需要该视频的路径

    Mat frame;//读取的视频帧

    while (1)//一直循环读取

    {

         cap >> frame;//读视频图像

         if(frame.empty())

             break;

         imshow("读取摄像头图像", frame);//显示

         if(waitKey(33) >= 0)

             break;

    }

    return 0;

}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐