【Opencv3学习笔记 1】OpenCV的安装配置部署详细步骤(window + vs2019)

本文介绍了OpenCV的基本概念,它是一个跨平台的计算机视觉库,支持多种编程接口。文章详细讲解了在Windows环境下如何下载和安装OpenCV,包括配置环境变量和Visual Studio的项目设置。通过一个简单的C++代码示例展示了读取并显示图片的基本操作,帮助初学者快速上手OpenCV。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是Opencv?

在这里插入图片描述

OpenCV(开源的计算机视觉处理工具)是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它具有C++PythonJavaMATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#ChRubyGO的支持。

1. 下载Opencv

官方网站进行下载,这里我使用的是window平台
在这里插入图片描述
下载后得到一个exe文件,直接运行,选择你要安装的位置就行了
在这里插入图片描述
安装完成后得到的文件夹结构如下
在这里插入图片描述
build是OpenCV使用时要用到的一些库文件,而sources中则是OpenCV官方为我们提供的一些demo示例源码以及文档帮助
如果你仅仅是使用库工具,可以删除sources文件夹,不会对使用造成影响。

2. 配置环境(vs)

  1. 首先在系统环境变量里把Opencv的可执行文件的目录添加进去
    在这里插入图片描述
    打开vs2019,创建一个新项目,如下
    在这里插入图片描述
    点开项目的属性
    在这里插入图片描述
    首先对c++的编译器进行设置
  • 包含目录:
    在这里插入图片描述
  • 库目录:
    在这里插入图片描述
    接着对链接器设置进行更改:
  • 附加库目录
    在这里插入图片描述
  • 附加依赖项
    在这里插入图片描述
    这样其实也很好理解,刚好是对C++整个代码的运行流程每一步的设置都进行了更改(编译 -> 链接)

3. 代码示例

我们用星云大神的教材《Opencv3编程入门》中的第一个代码示例开始我们的opencv实验


#include <opencv.hpp>

using namespace cv;

int main()
{
	Mat img = imread("1.jpg");
	imshow("【载入的图片】", img);
	waitKey(6000);
	return 0;
}

结果:
在这里插入图片描述

### OpenCV C++ 学习教程概述 OpenCV 是一个强大的开源计算机视觉库,支持多种编程语言,其中 C++ 是其主要开发语言之一。以下是关于如何通过 OpenCV 的 C++ 功能进行学习的相关资源和知识点。 #### 图像基本操作 图像的基本读取、显示以及保存功能是 OpenCV 中最基础的部分。可以通过 `imread` 函数加载图片,并利用 `imshow` 和 `imwrite` 来展示和存储处理后的结果[^1]。 ```cpp #include <opencv2/opencv.hpp> using namespace cv; int main() { Mat image = imread("example.jpg"); if (image.empty()) return -1; namedWindow("Example", WINDOW_AUTOSIZE); imshow("Example", image); waitKey(0); // Wait for key press imwrite("output_image.png", image); } ``` #### 图像融合技术 为了实现两幅图像的平滑过渡或者叠加效果,可以使用 `addWeighted()` 方法完成加权平均混合的操作[^2]。此方法接受两个输入矩阵及其权重参数 α 和 β,还有一个偏移量 γ。 ```cpp Mat blendedImage; double alpha = 0.7; double beta = 0.3; double gamma = 0.0; addWeighted(src1, alpha, src2, beta, gamma, blendedImage); ``` #### 腐蚀与膨胀操作 形态学中的腐蚀(Erosion)和膨胀(Dilation)用于改变二值化图像中对象形状大小。这些变换通常依赖于结构元素(Kernel)。创建自定义核可通过调用 `getStructuringElement` 完成[^3]。 ```cpp Mat kernel = getStructuringElement(MORPH_ELLIPSE, Size(5, 5)); erode(image, erodedImage, kernel); dilate(erodedImage, dilatedImage, kernel); ``` #### 形态学高级应用——顶帽黑帽运算 除了简单的腐蚀膨胀外,还有更复杂的形态学转换如顶帽(Tophat)和黑帽(Blackhat),分别提取亮区域细节或暗区域特征[^4]。具体表达式如下所示: - **TopHat**: \(dst = src - open(src)\) - **BlackHat**: \(dst = close(src) - src\) ```cpp morphologyEx(image, topHatResult, MORPH_TOPHAT, kernel); morphologyEx(image, blackHatResult, MORPH_BLACKHAT, kernel); ``` 以上内容涵盖了从入门到深入理解 OpenCV 库所需掌握的核心概念和技术要点。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值