【OpenCV】初识OpenCV(简介、windows下安装及其开发部署)_windows安装opencv-程序员宅基地

技术标签: OpenCV  计算机视觉  windows  opencv  


前言

本节首先简单介绍了 OpenCV,接着介绍在windows编译环境中安装 OpenCV 的方法。


一、OpenCV简介

OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。可用于开发实时的图像处理、计算机视觉以及模式识别程序。
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby、GO的支持。简单理解OpenCV就是一个库,是一个SDK,一个开发包,解压后直接用就可以。

OpenCV支持多种编程语言,包括 C++、Python、Java 等等,OpenCV支持与计算机视觉和机器学习相关的众多算法,并且应用领域正在日益扩展,大致有以下领域:
在这里插入图片描述

二、OpenCV 安装及环境部署(C++ 版本)

1. 下载并安装OpenCV

首先到官网:

Home - OpenCV

然后点击Library

在这里插入图片描述
选择系统和版本进行下载

在这里插入图片描述
点击Windows后选择文件夹保存.exe文件,即可自动下载

在这里插入图片描述
点击.exe文件进行安装
在这里插入图片描述


2. OpenCV环境变量配置

打开 OpenCV 》 build 文件夹,复制 bin 文件夹路径

在这里插入图片描述
点击 此电脑 》 右击属性

在这里插入图片描述
点击 高级系统设置
在这里插入图片描述
点击 环境变量

在这里插入图片描述
双击系统变量中的 Path

在这里插入图片描述
点击编辑 》 点击新建 》 将所复制的路径粘贴

在这里插入图片描述
点击确定就完成环境变量配置了(注意有3个确定


3. Visual Studio 20XX 编译器下载安装

Visual Studio 官网下载

在这里插入图片描述
下载后点击 .exe 文件得到以下界面,选择需要的选项,点击安装(可更改安装位置)
在这里插入图片描述


4. OpenCV开发环境配置

① 创建项目

打开VS,点击创建新项目

在这里插入图片描述
搜索C++ 》 选择控制台应用 》输入项目名称和修改路径后点击创建

在这里插入图片描述
在这里插入图片描述
② 添加包含目录

点击VC++目录 》 点击包含目录 》点击右边向下的小箭头》 点击<编辑…>

在这里插入图片描述
将刚刚下载的 OpenCV 文件夹中 build 文件夹中的include 文件夹的路径复制粘贴到包含目录

在这里插入图片描述
③ 添加库目录
与②操作一样,只是路径不同:opencv 》 build 》 x64 》 vc15 》 lib

在这里插入图片描述
④ 添加附加依赖项

点击链接器 》 点击输入 》 附加依赖项
将刚刚 lib 文件夹中的第二个依赖项的名称复制粘贴

在这里插入图片描述
以上添加任务需要检查是否生效,如果添加失败就多试几次然后重启电脑。

⑤ 后续问题的检验和处理

将Debug右边的栏目改为x64 (Win 10系统)
测试代码如下:

#include <opencv2/opencv.hpp>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/imgproc.hpp>  
#include<iostream>  
using namespace std;  
using namespace cv;  
int main()  
{
      
    Mat image = Mat::zeros(300, 600, CV_8UC3);  
    circle(image, Point(300, 200), 100, Scalar(25, 110, 288),-100);  
    circle(image, Point(400, 200), 100, Scalar(255, 123, 127), -100);  
    imshow("Show Window", image);  
    waitKey(0);  
    return 0;  
}  

如果出现“无法找到opencv_world470d.dll”,在opencv 》 build 》 x64 》 vc15 》 bin路径下复制两个dll后缀的程序扩展

在这里插入图片描述
粘贴至C盘的sysWOW64和system32文件夹中
运行即出现下面的图片说明成功啦!

在这里插入图片描述
到这里C++版本的OpenCV的所有安装部署就结束了,后期将会讲解python版本的安装以及在Linux环境下的安装。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41454577/article/details/128942336

智能推荐

svn 分支(branch)和标签(tag)管理-程序员宅基地

文章浏览阅读1.4w次,点赞12次,收藏61次。svn的分支管理_svn 分支

Python 入门的60个基础练习_练习python基础语法-程序员宅基地

文章浏览阅读4.2w次,点赞329次,收藏2.7k次。Python 入门的60个基础练习_练习python基础语法

iOS6和iOS7代码的适配(2)——status bar_ios7 statusbar-程序员宅基地

文章浏览阅读1w次。用Xcode5运行一下应用,第一个看到的就是status bar的变化。在iOS6中,status bar是系统在处理,应用_ios7 statusbar

gdb调试时No symbol "var" defined in current context && No Register_no registers调试显示-程序员宅基地

文章浏览阅读2.1k次。问题描述:,在gdb调试程序输出变量:p var,会提示No symbol "var" in current context.原因:程序编译时开启了优化选项,那么在用GDB调试被优化过的程序时,可能会发生某些变量不能访问,或是取值错误码的情况。这个是很正常的,因为优化程序会删改程序,整理程序的语句顺序,剔除一些无意义的变量等,所以在GDB调试这种程序时,运行时的指令和你所编写指_no registers调试显示

IDGeneratorUtil 主键id生成工具类_idgeneratorutils.generateid()-程序员宅基地

文章浏览阅读3.4k次。import java.util.Random;import org.drools.util.UUIDGenerator;/** * * * 类名称:GenerateIdUtil * 类描述: 主键生成工具类 * @author chenly * 创建时间:Jul 10, 2012 8:10:43 AM * 修改人: * 修改时间:Jul 10, 2012 8..._idgeneratorutils.generateid()

关于汇编 BX 和 BLX 跳转指令_汇编blx-程序员宅基地

文章浏览阅读5k次。BX:跳转到寄存器reg给出的目的地址处,如:BX R2BLX:跳转到寄存区reg给出的目的地址处并将返回地址存储到LR(R14)使用这两个指令时有一点特别需要注意:跳转的目的地址必须是奇数,若不是奇数则在后面加1,如某函数的起始地址是0x80000f00,则要跳转到此函数则应该跳转到0x80000f01处!否则会进入硬件错误中断!..._汇编blx

随便推点

VB程序设计教程(第四版) 龚沛曾_龚沛曾vb.pdf-程序员宅基地

文章浏览阅读1.6w次,点赞17次,收藏47次。VB程序设计教程(第四版) 龚沛曾 课后习题答案目录第一章课后答案第二章课后答案第三章课后答案第四章课后答案第五章课后答案第六章课后答案第七章课后答案第八章课后答案....第一章课后答案1、简述Visual Basic的特点。答:(1)具有基于对象的可视化设计工具(2)事件驱动的编程机制(3)提供易学易用的应用程序集成开发环境(4..._龚沛曾vb.pdf

Matlab神经网络语音增强,基于BP神经网络的语音增强研究-程序员宅基地

文章浏览阅读452次。曰髯?分类号:论文编号:2丛坦丝旦生丛密级:公开贵州大学2009届硕士研究生学位论文基于即神经网络的语音增强研究学科专业:电路与系统研究方向:模式识别导师:刘宇红教授研究生:周元芬中国贵州’贵阳2009年5月摘要-5Abstract-6第一章绪言11.1引言11.2语音增强的意义与研究现状21.2.1语音增强的目的21.2.2语音增强的意义21.2.3国内外语音增强研究现状41.2.4语音增强的算..._基于神经网络的语音增强

java.lang.ClassNotFoundException: org.springframework.core.io.Resource 解决办法-程序员宅基地

文章浏览阅读1.7w次。问题描述: 在使用maven依赖项spring MVC、Hibernate和Struts2构建REST web项目之后,我将项目进行打包 “ProcjectName.war”,并通过tomcat manager html页面将其上传到 Linux 的tomcat 服务器,它可以正常工作。但是当我尝试在本地tomcat服务器 (Windows平台)上部署war时,我从tomcat catali..._org.springframework.core.io.resource

添加远程github仓库时报错 Warning: Permanently added the RSA host key for IP address 52.74.223.119_cmd warning: permanently added-程序员宅基地

文章浏览阅读9.7k次。1.问题展示2.解决方案1.任意窗口, 打开git bash2.命令行界面, 输入cd C:3.cat ~/.ssh/id_rsa.pub正常下面应该显示一大串公钥如果没有,显示如下图, 则进行下一步, 创建公钥4.创建公钥, 输入 ssh-keygen5.然后一直下一步, 直到出现6.再次输入cat ~/.ssh/id_rsa.pub下面一大串数字便是公钥,复制这些字符串, 打开github, 点击头像, 打开settings, 打开SSH and GPG Keys_cmd warning: permanently added

SQL*Plus 使用技巧1-程序员宅基地

文章浏览阅读154次。[code="java"]1. SQL/Plus 常用命令 a. help [topic] 查看命令的使用方法,topic表示需要查看的命令名称。 如: help desc; b. host 该命令可以从SQL*Plus环境切换到操作系统环境,以便执行操作系统命名。 c. host [command] 在sql*plus环境中执行操作系统命令,如:host notepad.exe..._sql+plus的使用方法

域控服务器搭建与管理论文,校园网络服务器的配置与管理 毕业论文.doc-程序员宅基地

文章浏览阅读441次。该文档均来自互联网,如果侵犯了您的个人权益,请联系我们将立即删除!**学校毕 业 论 文**学校园网络服务器的配置与管理姓 名: **学 号: **指导老师:系 名:专 业: 计算机网络技术班 级:二0一一年十二月十五日摘 要随着网络技术的不断发展和Internet的日益普及,许多学校都建立了校园网络并投入使用,这无疑对加快信息处理,提高工作效..._服务器配置与应用论文