openCV是基于C++开发的一个强大的图像处理库。在用C++处理图像或视频时通常会使用到openCV这个库,但是这个库并非C++中的标准库,因此在使用之前需要先下载,并加载配置到我们的项目中。
那么怎么配置呢?首先你得有以下的所有工具。
- windows10系统。可以通过镜像安装,也可以通过CD或U盘安装。
- Visual Studio2019,基于实(省)用(钱),我使用的是community免费版,点击此处可以下载并安装.
点击下面下载中的community2019然后安装即可,具体步骤可参考其他教程案例。
安装完visual studio后就是安装opencv了,opencv在写这篇博客的时候最新版为4.3.0,因此改教程以4.3.0为例,其他版本的安装方式相同。opencv点击此处可以下载
下载完成后直接双击exe文件提取编译好了的文件即可,安装完exe之后会有如下几个文件,其中build文件夹中保存着主要使用到的函数代码块,source文件夹中保存着相关的文档以及其他必要文件。
接下来就是要将opencv的安装路径配置到环境变量中。将opencv中的build文件夹下的x64文件夹下的vec15中的bin路径添加到环境变量中,如下图中我的opencv中的地址:
将以上地址拷贝后加入环境变量中。注意windows10中环境变量分为系统环境变量和用户环境变量,要看你的visual studio的环境变量是在哪一个里面。为了安全起见,建议都加上,如下图:
双击,新建,粘贴地址即可。
现在万事俱备,只欠…啥也不欠了,接下来就打开visual studio创建一个基本的C++项目,然后更改一些配置就可以写opencv代码了。点击创建新项目,找到C++控制台应用(空项目也可以),并输入一个项目名称和项目地址,如下两步:
点击创建之后,需要配置opencv所需的依赖。点击视图,找到“其他窗口”里面的“属性管理器”,点击之后,右边的侧栏中会出现属性管理器。双击项目名称,然后找到VC++目录,将“库目录”和包含目录分别改为opencv所在地址的库目录和包含目录(点击编辑即可),如下图:
注意:包含目录最好将两个都添加进去,一个是include所在的地址,一个是include文件夹下opencv2所在的地址。
那么接下来就愉快的写代码吧,哦,不,还有最后一步。配置链接器中的附加依赖项,附加依赖项就是和bin文件夹同地址中的lib文件夹中的“opencv_worldxxxd.lib"文件,其中xxx表示版本(如4.30版本,则xxx为430,后面的d表示debug),如果是release版的话,把d去掉即可。
这次,可以真正的愉快的敲代码了,敲代码的第一步就是先把头文件包含进来。opencv中几个重要的头文件就是:
把这些头文件都包含好了之后,再通过using namespace cv把cv名空间引入就行了(或者在每需要使用到cv库里的对象或函数时都在前面加一个cv::也行)。
那么接下来就来看一个简单的opencv例子吧,就简单的显示一张图片,图片在opencv中就是Mat对象。代码如下:
#include <iostream> #include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace cv; int main() { Mat example = imread("F:\\xxxxx\\zhiyezhao.PNG"); //图片地址 if (example.empty()) { std::cout << "ERROR!" << std::endl; exit(EXIT_FAILURE); //如果读取不成功直接中断程序,避免引起之后代码产生不可预知的异常 } imshow("我的职业照", example); waitKey(0); //这一行一定不要忘了,否则照片就会闪现的,此处表示窗口停顿多久,单位为毫秒,0表示永久 }
显示如下:
当然你们是看不到这张图片的,帅气的职业照是不能随意给大家看的(傲娇脸)。
到这里为止就大功告成啦,快乐的写你自己的代码去吧!
什么,你还是碰到了以下错误?
这个就是因为你没有使用x64模式而是x86模式,只需要把图中的模式改掉即可
什么,你又碰到了下面这个错误?
这个是因为使用了相对路径,去属性里面把链接器中的输入依赖项目改成绝对路径即可,如下:
接下来就没什么大问题了。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 《暗喻幻想》顺风耳作用介绍
- 崔健1985-梦中的倾诉[再版][WAV+CUE]
- 黄子馨《追星Xin的恋人们2》HQ头版限量编号[WAV+CUE]
- 孟庭苇《情人的眼泪》开盘母带[低速原抓WAV+CUE]
- 孙露《谁为我停留HQCD》[低速原抓WAV+CUE][1.1G]
- 孙悦《时光音乐会》纯银CD[低速原抓WAV+CUE][1.1G]
- 任然《渐晚》[FLAC/分轨][72.32MB]
- 英雄联盟新英雄安蓓萨上线了吗 新英雄安蓓萨技能介绍
- 魔兽世界奥杜尔竞速赛什么时候开启 奥杜尔竞速赛开启时间介绍
- 无畏契约CGRS准星代码多少 CGRS准星代码分享一览
- 张靓颖.2012-倾听【少城时代】【WAV+CUE】
- 游鸿明.1999-五月的雪【大宇国际】【WAV+CUE】
- 曹方.2005-遇见我【钛友文化】【WAV+CUE】
- Unity6引擎上线:稳定性提升、CPU性能最高提升4倍
- 人皇Sky今日举行婚礼!电竞传奇步入新篇章