OpenCV学习笔记-环境搭建

news2024/11/18 18:39:34

文章目录

  • 概述
  • 下载安装Visual Studio 2022
  • 下载安装OpenCV
  • Visual Studio 配置
    • 配置包含路径
    • 配置库路径
    • 配置链接器
    • 配置环境变量Path路径
  • 测试
    • C++测试
    • Python 测试

概述

OpenCV(Open source computer vision)是一个跨平台的计算机视觉和机器学习开源库,可用于开发实时的图像处理、计算机视觉和机器学习应用程序。本系列学习笔记基于Visual Studio2022和Python 3.7.9及OpenCV4.8进行。本文根据贾老师的课程(课程链接),详细描述了环境搭建的步骤。

下载安装Visual Studio 2022

以下网站(https://visualstudio.microsoft.com/zh-hans/downloads/)直接在专业版下面点击试用自动下载安装工具。

需要注意的是安装组件的选择如下,需勾选python 和 C++桌面开发:
在这里插入图片描述

下载安装OpenCV

在以下地址选择需要的opencv版本(https://opencv.org/get-started/):
在这里插入图片描述

点击下载链接,下载exe文件(我在windows10上面用)
在这里插入图片描述
下载后运行直接解压,我直接copy到C盘,目录为:C:\opencv。

Visual Studio 配置

新建项目后,选择 视图->属性管理器->展开,并双击Debug|x64打开Debug属性页

配置包含路径

Debug属性页 – 通用属性 – VC++目录 – 包含目录,编辑:

C:\opencv\build\include
C:\opencv\build\include\opencv2

配置库路径

Debug属性页 – 通用属性 – VC++目录 – 库目录,编辑:

C:\opencv\build\x64\vc16\lib

配置链接器

Debug属性页 – 链接器 – 输入 – 附加依赖项,编辑:

opencv_world481d.lib

说明:
opencv_world481.lib: release版本
opencv_world481d.lib: debug版本

配置显示如下:
在这里插入图片描述

配置环境变量Path路径

增加Path环境变量:

C:\opencv\build\x64\vc16\bin

如下图所示:
在这里插入图片描述

测试

C++测试

创建并添加main.cpp文件,复制以下代码:

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv) {
	Mat src = imread("D:/temp/1.jpg");
	imshow("input", src);
	waitKey(0);
	destroyAllWindows();
	return 0;
}

运行调试,能够正常打开1.jpg图片即可。

Python 测试

import cv2 as cv

src =  cv.imread("d:/temp/1.jpg")
cv.namedWindow("input",cv.WINDOW_AUTOSIZE)
cv.imshow("input",src)
cv.waitKey()
cv.destroyAllWindows()

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

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

相关文章

C语言char与short取反以及符号判断问题

这个问题主要是在从对一个变量进行符号判断引出&#xff0c;有一种判断方法是#define ISUNSIGNED(Value) (Value >0 && ~Value >0) 主要是通过将符号位取反然后将变量与0进行比较。传入int与unsigned int结果正确&#xff0c;但是当传入unsigned char 与unsign…

差分进化算法,依旧强势

文章目录 前言DE算法DE代码DE再思考相关阅读 前言 过去两个月&#xff0c;一直在学习线性和整数规划。 今天开始&#xff0c;要回到智能优化算法了。用“回”这个字&#xff0c;主要是因为智能优化算法其实是我的老朋友了&#xff0c;毕竟在读博的大部分时间里&#xff0c;我…

论文阅读:Offboard 3D Object Detection from Point Cloud Sequences

目录 概要 Motivation 整体架构流程 技术细节 3D Auto Labeling Pipeline The static object auto labeling model The dynamic object auto labeling model 小结 论文地址&#xff1a;[2103.05073] Offboard 3D Object Detection from Point Cloud Sequences (arxiv.o…

基于springboot+vue的前后端分离房屋租赁信息网站

项目介绍 在网络高速发展的时代&#xff0c;众多的软件被开发出来&#xff0c;给用户带来了很大的选择余地&#xff0c;而且人们越来越追求更个性的需求。在这种时代背景下&#xff0c;房东只能以用户为导向&#xff0c;所以开发租房网站是必须的。 系统采用了Java技术&#x…

爬虫 | 【实践】Best Computer Science Scientists数据爬取

文章目录 &#x1f4da;数据需求&#x1f4da;数据爬取&#x1f407;排行榜页数据爬取&#x1f407;获取详情页&#x1f407;目标信息提取 &#x1f4da;完整代码与结果 &#x1f4da;数据需求 姓名&#xff0c;国家&#xff0c;学校 最有名研究领域 目前研究领域 共同作…

16 | 如何自定义 HandlerMethodArgumentResolvers

上一讲我们介绍了 SpringDataWebConfiguration 类的用法&#xff0c;那么这次我们来看一下这个类是如何被加载的&#xff0c;PageableHandlerMethodArgumentResolver 和 SortHandlerMethodArgumentResolver 又是如何生效的&#xff0c;以及如何定义自己的 HandlerMethodArgumen…

c语言练习89:链表的使用

链表的使用 虽然有这么多的链表的结构&#xff0c;但是我们实际中最常⽤还是两种结构&#xff1a; 单链表 和 双向带头循环链表 1. ⽆头单向⾮循环链表&#xff1a;结构简单&#xff0c;⼀般不会单独⽤来存数据。实际中更多是作为其他数据结 构的⼦结构&#xff0c;如哈希桶、…

数据结构与算法—单链表

目录 一、链表 1、链表的概念及结构 2、分类 二、实现单向链表 1、声明链表结构体 2、输出 3、头插&尾插 4、头删尾删 5、查找 6、指定位置插入 7、删除指定节点 8、删除指定节点的后一个节点 9、单链表的销毁 完整版 LList.h LList.c text.c 一、链表 …

Go错误处理方式真的不好吗?

平时经常上一些网络平台阅读一些技术讨论的话题&#xff0c;对Go语言方面也有些浅浅的关注&#xff0c;正如标题所问&#xff0c;Go语言错误处理可以说算是网络上开发中对Go语言吐槽最多的点之一&#xff0c;那么&#xff0c;Go错误处理真的很不堪吗&#xff1f; 对此我认为&a…

CANoe制作网关实现CAN(FD)报文故障注入(报文长度/timeout/信号错误/E2E)1

CANoe制作网关实现CAN报文故障注入&#xff08;报文长度/timeout/信号错误/E2E&#xff09; 文章目录 CANoe制作网关实现CAN报文故障注入&#xff08;报文长度/timeout/信号错误/E2E&#xff09;1.基本介绍和实现功能 1.基本介绍和实现功能 下面是一个完整的CAN/CANFD总线&…

【Wifi】Wifi架构介绍

Wifi架构介绍 本文基于Android介绍其Wifi架构。Wifi是许多操作系统提供的重要功能之一&#xff0c;特别是越来越多的车载系统wifi是其必备功能。为啥wifi是必备功能&#xff1f; 一方面是传统的上网&#xff08;现在有些车载使用DCM模块管理网络&#xff09;&#xff0c;另一方…

项目管理软件中注释功能的作用是什么?

在项目管理软件中&#xff0c;注释功能允许您对任务、文件夹和项目进行详细的标注。这一功能不仅便于团队成员之间的沟通与协作&#xff0c;还能提高项目管理的效率。通过在项目中添加评论&#xff0c;您可以及时了解项目的最新动态&#xff0c;提出疑问并寻求解决方案。此外&a…

【大模型应用开发教程】01_大模型简介

C1 大模型简介 一. 什么是LLM&#xff08;大语言模型&#xff09;&#xff1f;1. 发展历程2. 大语言模型的概念LLM的应用和影响 二、大模型的能力和特点1. 大模型的能力1.1 涌现能力&#xff08;emergent abilities&#xff09;1.2 作为基座模型支持多元应用的能力1.3 支持对话…

AN基础工具——填色工具

【AN基础工具——填色工具】 基本使用方法填色补充给色块周围画上线 变色动画渐变变色的蜥蜴 本篇内容&#xff1a;填色动画制作 重点内容&#xff1a;填色工具 工 具&#xff1a;Adobe Animate 2022 基本使用方法 填色补充 之前说图形要封闭才能填色&#xff0c;实际情况是有…

ESP8266 Node Mcu开发板连接WIFI并上报数据到MQTT服务器——物联网应用开发

一、前言 本文主要介绍关于ESP8266 Node Mcu开发板如何连接WIFI并将本地采集的数据上传到MQTT服务器中。 大家调试可以使用MQTTBox 二、WIFI连接 首先&#xff0c;导入WIFI连接所需的头文件&#xff0c;引入所需库。 #include <ESP8266WiFi.h> 声明字符串常量&#xff0…

3.1 模板测试与深度测试(Stencil Test Z Test)

一、模板测试&#xff08;Stencil Test&#xff09; 模板测试可以实现的一些效果图 1.是什么 ①从渲染管线出发&#xff1a;模板测试是在逐片源操作阶段&#xff0c;透明测试之后&#xff0c;深度测试之前的位置。 ②从书面概念上理解 说到模板测试&#xff0c;就要先说道模…

Java设计模式-结构性设计模式(享元设计模式)

简介 属于结构型模式&#xff0c;主要⽤于减少创建对象的数量&#xff0c;以减少内存占⽤和提⾼性能&#xff0c; 它提供了减少对象数量从⽽改善应⽤所需的对象结构的⽅式享元模式尝试重⽤现有的同类对象&#xff0c;如果未找到匹配的对象&#xff0c;则创建新对象应用场景 JAV…

C语言天花板——指针(进阶1)

接上次的指针初阶&#xff08;http://t.csdnimg.cn/oox5s&#xff09;&#xff0c;这次我们继续的探寻指针的奥秘&#xff0c;发车咯&#xff01;&#xff01;&#xff01;&#x1f697;&#x1f697;&#x1f697; 一、字符指针 可以看到我们将指针p给打印出来&#xff0c;就是…

LDA(Fisher)线性判别分析

LDA&#xff08;Fisher&#xff09;线性判别分析 对于二分类问题若存在一个 y i W x i y_iWx_i yi​Wxi​将样本 X \pmb X X投影到一维空间上 为了使两个样本能够较好的分开&#xff0c;应该是的每一个同类的样本的方差&#xff08;离散程度&#xff09;尽可能的小&#xff0…

Java实现hack汇编器

Hack汇编语言是一种特定于计算机体系结构的汇编语言&#xff0c;使用Hack架构的机器码指令来编写程序。Hack是一种基于Von Neumann结构的计算机体系结构&#xff0c;由Harvard大学的Nand to Tetris项目开发出来&#xff0c;用于实现计算机硬件和软件。 Hack汇编语言主要用于在…