OpenCV配置教程

article/2025/10/12 4:27:11

文章目录

  • 前言
  • 一、下载和安装OpenCV SDK
  • 二、配置包含路径
  • 三、配置库目录&配置链接器
  • 四、配置环境变量
  • 五、dll文件复制到system32中
  • 六、验证配置结果
  • 七、结语


前言

本篇主要记录自己配置OpenCV4的步骤和心得。IDE为Visual Studio2017,OpenCV版本号为4.5.5

目前opencv4系列主要支持vs2015和vs2017两个版本,这里推荐还是将vs版本更新到上述两个版本之一,以免出现配置上的兼容问题。

配置主要分为6个步骤:1)下载和安装OpenCV SDK 2)配置包含路径 3)配置库目录 4)配置链接器 5)配置环境变量 6)dll文件复制到system32中

下面开始具体介绍

一、下载和安装OpenCV SDK

在opencv官网下载相关安装包即可

附官网下载链接:Releases - OpenCV

点击realease

选择对应的操作系统,这里我选择的Windows,版本为4.5.5

下载完成后,运行点击解压

这里我新建了一个opencv4的文件夹,为了和之前安装的其他版本的opencv重叠。

解压完成后,如果出现以上内容,就说明解压成功了,其中build文件夹是主要的OpenCV相关文件,里面含有头文件与库文件等重要信息,接下来的环境配置工作都要围绕其展开。

二、配置包含路径

这一步主要完成的工作是告诉计算机安装的OpenCV在哪里,以及告诉IDE应该去哪里找到头文件与库文件。

我们先在vs2017中创建一个新的空项目

新建一个源文件

起名为main.cpp

然后我们将Debug模式改为对应的x64模式

然后点击视图中的其他窗口,打开属性管理器

双击红色箭头所指选项:

在这里插入图片描述

打开后,点击包含目录的红色箭头所指的编辑位置

在这里插入图片描述

点击+号

将刚才解压的opencv文件中build的两个相关的子文件夹添加到包含目录中,分别是bulid\include和build\include\opencv2

三、配置库目录&配置链接器

库目录的配置和包含目录的操作步骤类似,不过这里要说明的是,如果vs版本为2017,则选择vc15,如果vs版本为2015,则选择vc14

路径如图所示

下面配置链接器:

点击链接器中的输入选项,在附加依赖项中新添信息

新添的信息为opencv_world455d.lib,world后面的数字与具体的版本号有关,大家需要去刚才库目录的lib文件夹下查看自己的world号进行设置

在lib文件夹下,有两个lib文件,一个以d结尾,一个没有,含有“d”的lib文件是在Debug模式下使用,就是我们现在创建的模式,而不含“d”的文件在Release模式下使用,配置该模式时再使用,这里我们选择带“d”的文件。

在这里插入图片描述

四、配置环境变量

上述步骤主要负责告诉vs2017去哪里寻找我们的opencv,而环境变量则是告诉计算机去哪里寻找opencv

在Windows搜索栏输入环境变量,打开环境变量

点击后,在系统变量中找到Path,然后点击编辑

新建一个路径,具体的值如图所示,配置完成后点击确定

五、dll文件复制到system32中

在上述工作完成后,我们只差最后一步了,我们把bin目录下的所有.dll文件复制一下,放到C:\Windows\System32中

在这里插入图片描述

将这个5个dll文件复制后,放到C:\Windows\System32中(.dll文件数量随版本不同而不同,老版本一般为3个dll左右)

在这里插入图片描述

以上所有步骤完成后,就大功告成啦!

六、验证配置结果

配置完成后,我们调用opencv的一个显示图像功能来验证一下opencv是否已经成功配置,要显示的图像是非常经典的lena美女:

我们在刚才的项目中,粘贴以下代码,注意图片的位置要根据实际的图片位置来填写

#include<opencv2\opencv.hpp>  //加载OpenCV4的头文件
#include<iostream>using namespace std;
using namespace cv; //OpenCV命名空间int main()
{Mat img;  //声明一个保存图像的类img = imread("D:/vs c++小练习/opencv4_test/opencv4_test/lena.jpg");  //读取图像,图像的位置要按实际位置填写if (img.empty())  //判断图像文件是否存在{cout << "请确认图像文件名是否正确" << endl;return -1;}imshow("test", img); //显示图像waitKey(0);  //等待键盘输入return 0;  //程序结束
}

程序的正确运行结果如下:

可以看到,我们的程序成功打开了美女lena的图片,当然这张经典的图片也是部分截取而来,完整的全图发个链接:http://www.lenna.org/full/l_hires.jpg ,只能说,懂得都懂233

七、结语

截止到这里,在计算机视觉这条万里长征的道路上,我们可以说已经迈出了伟大的第一步,后面许许多多的图像处理函数,图像算法,还有更加高级的机器学习,卷积神经网络,无不从这里最基础的图像处理工具开始。世上无难事,只怕有心人!继续加油。


http://chatgpt.dhexx.cn/article/nDW4MYcN.shtml

相关文章

【sql注入教程】SQL注入是什么?我们如何去玩转它

【sql注入教程】SQL注入是什么&#xff1f;我们如何去玩转它 本文转自&#xff1a;i春秋社区 SQL注入攻击是黑客攻击数据库最常见手段之一。简单讲&#xff0c;SQL注入攻击是黑客利用网站程序漏洞&#xff0c;通过提交精心构造的SQL语句&#xff0c;以达到窃取数据库信息、修改…

SQL注入各种注入方式

前面似乎对于注入方式讲的并不是很清楚,打算再详细讲讲各种注入方式 POST注入 相比于GET,POST的传输数据的方式更为隐蔽,不会直接出现在url中,需要自己去利用用户框和密码框进行注入,就从用户入手,查用户就需要用到select. 有的同学可能一脸懵,我是怎么传输数据过去的呢? PO…

sql注入新手入门 从实战讲解SQL注入(手动注入+MySQL+靶场源码)

资源放在下面&#xff0c;自取 https://blog.csdn.net/qq_45514735?spm1011.2266.3001.5343 1、我们首先用小皮面板和sqli-labs靶场源码搭建一个环境 2、简单的注入讲解 打开第一关我们看看 1、寻找注入点 这里提示我们id参数有问题&#xff0c;尝试拼接url&#xff08;其…

sql注入基础

本文章仅供学习交流使用 一、数据库类型 1、Mysql基础语句及数据库注入语句 &#xff08;1&#xff09;基础语句&#xff1a; &#xff08;数据库查询规则&#xff0c;需要逐步进入&#xff09; 数据库A对应网站&#xff08;第一步&#xff09;show databases; 表名&#x…

SQL注入分析

趁着假期还没结束&#xff0c;写博客记录自己网络安全学习经历&#xff0c;也当记笔记方便以后复习。卷起来兄弟们&#xff01; 1.安装抓包工具Burp Burp中文版安装教程 2.下载并配置phpstudy Pikachu安装教程 3.下载本地靶场Pikachu Pikachu安装教程 4.下载并配置火狐浏览…

BurpSuit官方实验室之SQL注入

BurpSuit官方实验室之SQL注入 这是BurpSuit官方的实验室靶场&#xff0c;以下将记录个人SQL注入共17个Lab的通关过程 Web Security Academy: Free Online Training from PortSwigger lab1&#xff1a; SQL injection vulnerability in WHERE clause allowing retrieval of …

SQL注入的常见方式

目录 联合查询&#xff08;union&#xff09;函数介绍order byunion select 操作 布尔盲注 &#xff08;and or&#xff09;函数介绍mid 从中间截取字符left 从左开始截取字符ord、ascii 转成ascii码length 统计长度andregexp 正则注入-针对MySQL 操作1. 猜数据库长度2. 猜数据…

PentesterLab靶场sql注入流程

环境安装 随便在网上找了个Pentester的靶场&#xff0c;结果是2013年的&#xff0c;那就从2013年的这个靶场开始学习 下载镜像的地址&#xff1a; https://pentesterlab.com/exercises/web_for_pentester_II/iso 正常找个虚拟机&#xff0c;进行iso的安装 安装完成后&…

SQL注入教程——(三)简单的注入尝试

本文将以简单的SQL注入实例来讲解SQL注入的基本思路与流程,当然本文实例只是注入的一种情况,初学者应重点理解思路,学会举一反三。 GET与POST 进行SQL注入攻击,大家还需要了解两种基本的 HTTP 请求方法:GET 和 POST。 在客户机和服务器之间进行请求-响应时,两种最常被…

DVWA通过攻略之SQL注入

目录 1.SQL Injection SQL注入2.实验演示2.1.low2.3.high2.4.impossible 3.sqlmap自动化注入3.1.low3.2.medium3.3.high 4.SQL注入&#xff08;盲注&#xff09;5.防范措施 1.SQL Injection SQL注入 SQL是操作数据库数据的结构化查询语言&#xff0c;网页的应用数据和后台数据…

SQL注入及实战

SQL注入及实战 本文记录各种SQL注入类型的实操过程 SQL注入定义&#xff1a;由于程序中对用户输入检查不严格&#xff0c;用户可以提交一段数据库查询代码&#xff0c;根据程序返回的结果&#xff0c;获得某些他想得知的数据&#xff0c;这就是所谓的SQL Injection&#xff0…

web 漏洞入门之 —— SQL 注入教程

SQL 注入是最常见、最被人们熟知的 web 漏洞。根据百科的解释&#xff1a;所谓SQL注入&#xff0c;就是通过把SQL命令&#xff0c;插入到Web表单提交或输入域名或页面请求的查询字符串&#xff0c;最终达到欺骗服务器执行恶意的SQL命令。 比如某个公司有一个员工管理系统&#…

SQL注入基础教程

注&#xff1a;本篇不讲关于sql-labs的搭建&#xff0c;如有需要请私信我&#xff0c;我将会出一期详细的配置教程 SQL注入基础教程 数据库的结构注释符SQL注入之基础注入 数据库的结构 在学习数据库之前&#xff0c;我们首先要了解数据库的结构。 一般数据库由三个部分组成&…

SQL 注入教程:通过示例学习

数据是信息系统最重要的组成部分之一。组织使用数据库驱动的 Web 应用程序从客户那里获取数据。SQL是结构化查询语言的首字母缩写。它用于检索和操作数据库中的数据。 什么是 SQL 注入&#xff1f; SQL 注入是一种攻击动态 SQL 语句以注释掉语句的某些部分或附加始终为真的条…

sql注入详解

目录 前言? ? 一、漏洞原因分析 二、漏洞危害 三、sql注入防范 四、如何挖掘sql注入漏洞 五、常见的注入手法 联合查询(union注入) 报错注入 基于布尔的盲注 基于时间的盲注 HTTP头注入 宽字节注入 堆叠查询 二阶注入 六、sql注入getshell的几种方式 前言 结…

SQL注入教程

目录 基础sql语法基础注释sql注入漏洞产生的条件 sql注入的分类基于从服务器收到的响应基于数据库种类基于如何处理输入的SQL查询(数据类型)参数位置注入方法注入流程 万能密码ACCESS注入流程判断方法注入实战 MSSQL注入流程默认数据库函数注入过程 MySql注入&#xff08;重头戏…

SQL注入基本教程

注&#xff1a;只是自己学习记录&#xff0c;若有不对的地方请指出&#xff0c;文章有过一次修改&#xff0c;修改了关于order by函数的知识点 个人小站 SQL注入基本教程 数据库的结构注释符SQL注入简单教程 数据库的结构 学习SQL注入首先要知道数据库的结构 数据库由三个部分…

Sql注入的入门教程

Sql注入比较常见的漏洞之一&#xff0c;例用程序员的漏洞来进行无账号的登陆&#xff0c;篡改数据库。任何客户端可控&#xff0c;传参数到服务端的变量&#xff0c;和数据库交互&#xff0c;都有可能存在sql注入 原理 用户通过构造sql语句来模仿服务器发向服务器的语句&…

ImageJ 插入插件和基本教程

文章目录 前言一、ImageJ的下载二、ImageJ的安装三、给ImageJ添加自定义插件四、ImageJ闪退怎么办 前言 该软件是一个使用Java语音编写的图像处理和分析软件。ImageJ基于插件架构体系设计&#xff0c;可以通过编写插件对其功能进行扩展 一、ImageJ的下载 这款软件是完完全全免…

FIJI (ImageJ) 图像处理合集

1.更改伪彩颜色 ImageJ可以打开CAI格式&#xff0c;尼康的2084的原始格式等等。 将图片直接拖拽到imageJ软件上。 会弹出一个窗口 这个窗口就是告诉我们&#xff1a;关于这个图像的原始格式是否需要进行设置。通常使用默认的&#xff0c;点击Ok。 就可以打开这个图像 如果打…