c++opencv显示中文_OpenCV安装,配置和运行

今天小崔有个项目功能想用OpenCV软件库实现一下,就安装了OpenCV,在这里给大家分享一下安装过程。

一.什么是OpenCV

    OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。  它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

    OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。

二.应用领域

  • 人机互动

  • 物体识别

  • 图像分割

  • 人脸识别

  • 动作识别

  • 运动跟踪

  • 机器人

三.OpenCV的基本结构

OpenCV包括CV , CVAUX , CXCORE, HighGUI , ML 等5个重要的模块

如果用库来体现这几个模块之间的关系的话, 可以采用下面的结构图来展现:

8851a3401fa7e86d82db3bf16fef3f1b.png

CV---核心函数库:包含了基本的图像处理函数和高级的计算机视觉算法,包括图像处理, 图像结构分析,运动描述和跟踪,模式识别和摄像机标定。

ML---机器学习函数库:包含一些基于统计的分类和聚类工具。

HighGUI---GUI函数库:包含图像和视频的输入/输出函数。

CXCORE---数据结构与线性代数库:包含了OpenCV的一些基本的数据结构和相关函数

CVAUX---辅助函数库:该模块则是一般用于存放即将被淘汰的算法和函数,同时也包含一些新出现的实验性的函数和算法。

四.OpenCV下载

    访问OpenCV官网:https://opencv.org/ ,点击Releases

4a0c7e751358880ef6affd6721941d0a.png

然后找到自己需要的版本点击下载

256b2650927f81d122627c9c7535735d.png

21452f34c786bcfd3ee67655f7d09f60.png

如果童鞋们嫌浏览器下载速度太慢,可以复制下载连接,打开迅雷下载,本人亲测速度不错。

03e1ab09d68dae28965c0c3d551af702.png

五.OpenCV安装

下载完成后打开exe文件,选择安装文件夹,点击安装,得到opencv文件夹:

9d986748a914783ccd6d86cddc6a3f0f.png

5252b7075e83b53f533ae7e5075470a6.png

接下来,我们开始配置环境变量,右键我的电脑,-》属性-》高级系统设置-》环境变量,找到PATH 添加:

D:\Program Files\opencv\build\x64\vc15\bin

然后打开“D:\Program Files\opencv\build\x64\vc15\bin”,将图中三个文件复制到“C:\Windows\SysWOW64”:

db32c989eb13b430120361ff44246475.png

80139589f5313e6fb2f33b5975adb221.png

添加完成后打开终端,输入opencv_annotation.exe验证是否配置成功:

61d022833b7e5a9a0e2233f938fe5765.png

出现次此画面说明opencv安装配置成功。

六.VS2019配置

    打开vs2019,创建一个项目创建C++项目:

d259059d5451f03bb6ff28cd78007630.png

然后点击-》视图-》其他窗口-》属性管理器:

f84c978840f5ed720de6395c136b6cff.png

在属性管理器中展开项目,右键“Debug | x64”,在该文件夹上右键“添加新项目属性表”:

529265783b18e7ac9b29d2a3ea69875f.png

双击打开新建的属性表,找到VC++目录,打开包含目录,添加以下两个路径:

D:\Program Files\opencv\build\includeD:\Program Files\opencv\build\include\opencv2

a39c11674acbdee983f3095ef3844f3c.png

然后打开“库目录”,添加以下路径:

D:\Program Files\opencv\build\x64\vc15\lib

973f8475797e60f19841da8fa321eb41.png

再找到:链接器-》输入,打开附加依赖项,添加“opencv_world450d.lib”:

f3c9248c79b96626f0b1f52e71a91c2f.png

配置完成后,打开“解决方案资源管理器”,在“源文件”文件夹右键添加 -类:

5bff9151e17a0721dbf7bbc30a0f6b60.png

在 mian.cpp中粘贴以下代码测试OpenCV:PS(“自己找个图片,填入路径”)

#include "mian.h"#includeusing namespace cv;int main(){  //桌面上面放的一个jpg图文件  Mat picture = imread("C:\\Users\\admin\\Desktop\\opencv.jpg");    imshow("测试程序", picture);  waitKey(20150901);}

解决方案平台改为x64:

ea5fc485234e9b636772bf53c15a1d89.png

点击运行可以看到图片已经显示出来:

04c1a36ef08035994de330b0e32b8337.png

如果显示成功,那么OpenCV则安装配置完成,还在代码中运行起来了;如果发生报错,请仔细检查配置,有没有那一步漏掉了。

467237f12d90cdd329546172bc5930fe.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt 当前窗口句柄_QT获取Windows系统所有窗口句柄

#include #include #pragma comment(lib,"user32.lib")/* 回调函数,用于捕获进程 */BOOL MyEnumProc(HWND hwnd, LPARAM param){LPWSTR lpString (LPWSTR)malloc(sizeof(WCHAR) * MAX_PATH);if (IsWindow(hwnd) &&IsWindowEnabled(hwnd) &&a…

JdbcTemplate(操作数据库-查询返回对象、查询返回集合)

JdbcTemplate(操作数据库-查询返回对象、查询返回集合) 1.创建数据库 数据库中有三条记录,数据库名为user_db,数据库表为t_book 2.新建实体类: Book类中的每一个属性对应数据库中的一条记录 package org.example.sp…

hbase 查询设置超时_hbase master挂掉-zookeeper连接超时原因

并行运行hbase删表,建表操作,多个表多个region,导致hbase挂掉。查看日志:从日志中可以看出GC时间过长导致zookeeper连接超时,master退出。(是master退出而不是regionserver退出是因为进行的操作是建表,删表…

机器学习如何计算特征的重要性_机器学习之特征工程

特征选择是特征工程中的一个子集,从所有的特征中,选择有意义的,对模型有帮助的特征,以避免将所有特征中对模型没作用的特征导入模型去训练,消耗不必要的计算资源。更正式地说,给定n个特征,我们搜…

白中英 计算机组成原理_计算机组成原理 第五版.立体化教材 白中英 大学教材...

目 录第1章 计算机系统概论第2章 运算方法和运算器第3章 多层次的存储器第4章 指令系统第5章 中央处理器第6章 总线系统第7章 外存与IO设备第8章 输入输出系统第9章 并行组织与结构关于我们大学生必备资源库为大学生提供网课答案、大学课后答案、软件安装、大学考试考证资源以及…

Spring事务操作-事务

目录 Spring事务操作-事务 1.什么是事务 (1)典型场景 2.事务的四个特性(俗称ACID特性) (1)原子性 (2)一致性 (3)隔离性 (4)持久性…

ios 静态库合成_iOS : 静态库(.framework)合并

如果写了一个Framework,根据Build时选择的机器类型,会分为模拟器Framework和真机Framework,两者是不能混用的。此时可以通过配置一个Run Script,在Script中使用lipo命令来合并两个版本的Framework,重新生成一个新的Fra…

python在统计专业的应用_Python:使用Counter进行计数统计

计数统计就是统计某一项出现的次数。实际应用中很多需求需要用到这个模型。比如测试样本中某一指出现的次数、日志分析中某一消息出现的频率等等‘这种类似的需求有很多实现方法。下面就列举几条。 (1)使用dict 看下面代码#codingutf-8 data [‘a‘,‘2‘,2,4,5,‘2‘,‘b‘,4…

Spring事务操作-事务引入

目录 Spring事务操作-事务引入 1.模拟异常 2.测试异常 3.没有使用spring框架的时候异常该如何处理 4.使用spring框架的时候异常该如何处理 5.在spring 进行声明式事务管理,底层使用AOP 6.spring 事务管理API 7.事务操作(注解声明式事务管理&…

oracle中取反_oracle正则表达式regexp_like的用法详解

oracle正则表达式regexp_like的用法详解更新时间:2013年06月13日 17:42:05 作者:本篇文章是对oracle正则表达式regexp_like的用法进行了详细的分析介绍,需要的朋友参考下/*ORACLE中的支持正则表达式的函数主要有下面四个:1&…

在r中rowsums_用R进行数据分析-05

20-矩阵与数组一、矩阵的定义矩阵(Matrix)是一个按照长方阵列排列的复数或实数集。向量是一维的,而矩阵是二维的,需要有行和列。R中,矩阵是有维数的向量,但元素必须拥有相同的模式,此和向量一致…

python字典和集合对象可以进行索引操作_Python中的字典跟集合整理笔记

泛映射类型映射类型:不仅仅是dict,标准库里的所有映射类型都是利用dict来实现的,因此它们有个共同的限制,即只有可散列的数据类型才能用做这些映射的键。(只有键有这个需求,值并不需要必须是可散列的数据类型。)什么是…

JAVA入门级教学之(super的内存示意)

Super的原理: 代表的是当前对象this的父类型特征 如果类加载过程中,这个类有静态代码块,有静态变量,一律都会执行,系统会先分配空间 只要方法调用,就一定会进行方法压栈 new一个方法,其实是调用…

python博客项目评论_Python 爬虫入门——小项目实战(自动私信博客园某篇博客下的评论人,随机发送一条笑话,完整代码在博文最后)...

之前写的都是针对爬虫过程中遇到问题的解决方案,没怎么涉及到实际案例。这次,就以博客园为主题,写一个自动私信博客下的评论人员(在本篇留下的评论的同学也会被自动私信,如果不想被私信,同时又有问题,请私信…

JAVA入门级教学之(猜数字测试)

一个类A有一个实例变量v,从键盘接受一个正整数作为实例变量v的初始值 另外再定义一个类B,对类A的实例变量v进行猜测 如果大了则提示大了 如果小了则提示小了 等于则提示测试成功 猜测数字比大小的测试: /*** author LBJ* version V1.0* P…

硬盘突然提示没有初始化_新硬盘的分区

★前言如果你添加了一个新硬盘到电脑上,但是它没有在文件管理器中出现,你可能需要为它分配一个盘符,或者对它进行初始化并分区才能使用。★警告在分区时,”删除磁盘分区“和”格式化“都会清空该分区的数据,请提前备份…

正高职称 程序员_正高级工程师评审条件最新版

.精选范本正高级工程师评审条件申报条件:学历资历条件具有大学本科以上学历,取得高级工程师资格后,从事本专业工作满5年。外语、计算机、继续教育条件(一)按照规定参加国家统一组织的职称外语和计算机应用能力考试,取得合格证&…

JAVA入门级教学之(简单的程序测试)

请定义一个交通工具(Vehicle)类 其中有属性: 速度speed 体积size 方法移动move() 设置速度setSpeed(int speed) 加速speedUp() 减速speedDown() 最后在测试类Vehicle中的main() 中实例化一个交通工具对象,并通过方法给它初始化speed&#xff0c…

linux怎样判断线程是否暂停_怎样判断股市是否会继续下跌?

之前和大家分享了如何判断大市是否会上涨,这篇文章我再分享下如何判断大市是否会继续下跌。我们对大市的判断原则仍采用:基于技术分析判断危险信号,结合市场消息坐实。基于上一篇文章的基础如何判断股市是否会上涨?是否已跌到底&a…

hfss螺旋平面_利用HFSS设计平面等角螺旋天线

- 73 -利用HFSS设计平面等角螺旋天线杜起飞北京理工大学电子工程系 100081摘要&#xff1a;本文介绍了一种双臂平面等角螺旋天线的设计过程&#xff0c;利用ANSOFT HFSS对其结构进行了建模和仿真&#xff0c;工作频率为0.4GHz&#xff5e;3GHz&#xff0c;电压驻波比VSWR<2.…