opencv
opencv(open source computer vision library
)是一个开源的计算机视觉和机器学习软件库,由intel开发并首先发布于1999年。opencv被广泛用于实时图像处理、视频分析、物体检测、面部识别、机器人视觉以及许多其他领域。它支持c++、python、java等多种编程语言,并且提供了数百种计算机视觉算法,包括但不限于:
- 图像处理:图像滤波、几何变换、直方图均衡化等。
- 特征检测和描述:sift、surf、orb等。
- 物体检测:使用haar级联或深度学习模型检测人脸、行人等。
- 视频分析:运动检测、背景减除等。
- 机器学习:opencv集成了一些机器学习框架,可以用于训练和使用分类器。
- 深度学习:opencv 3.4及以上版本支持深度学习模型,特别是使用dnn(deep neural network)模块。
opencv(open source computer vision library)是一个开源的计算机视觉库,它的历史和发展可以追溯到1999年。以下是opencv历史的一些关键点:
-
起源:opencv项目由intel公司在1999年启动,旨在创建一个免费的、开源的计算机视觉库,并开放其源代码以推动计算机视觉领域的研究和发展。
-
开源发布:2000年,opencv发布了第一个公开版本,这标志着opencv开源计划的正式启动。
-
发展:
2005年,opencv 2.0 版本发布,引入了面向对象的接口、多核支持、python 接口等功能。
2008年,opencv加入google summer of code(gsoc)
项目,促进了社区的发展。
2011年,opencv 2.3 版本发布,引入了更快的图像处理算法、cuda加速支持等。 -
重大更新:
2015年,opencv 3.0 版本发布,带来了重大变化,包括c++11支持、模块化架构、dnn模块等。
2018年,opencv 4.0 版本发布,引入了c++11重构、dnn模块的改进、vulkan后端、性能优化等。 -
持续发展:从2019年的4.1版本开始,opencv继续改进和优化各种功能,如图像处理算法、目标检测算法等。
-
版本更新:opencv持续更新迭代,推出了4.2、4.3、4.4等多个版本,不断引入新功能和改进。
-
架构支持:2022年12月8日,龙芯中科宣布,opencv开源社区正式合入了对
loongarch
架构支持的代码,优化后的opencv性能显著提升。 -
最新动态:截至2024年,opencv已经发展到4.5版本,且在2022年12月29日发布了4.7.0版,带来了全新的onnx层,提高了dnn代码的卷积性能。
vs2022配置opencv过程
- 下载opencv库:https://opencv.org/
- 点击
opencv-4.9.0-windows.exe
- 选择合适的目录
- 提取
- 在预定目录可以看到提取的文件
- 将
bin
目录添加到系统环境变量opencv\build\x64\vc16\bin
- 按照
系统-系统信息-高级系统设置-环境变量-系统环境变量path-新建-确定
顺序,将opencv库路径添加到系统变量中。
- 重启计算机
- 开始验证opencv,打开vs2022,新建一个项目
- 空项目已经建立好,点击
“项目”
,下拉“属性”
。
- 配置属性,将下载的opencv里
include
文件目录放到包含目录中。
- 将opencv的
lib
库文件路径放到库目录中。
- 修改链接器,将opencv中lib库里的
opencv_world490d.lib
文件名复制到附加依赖项中。
- 环境配置好,开始测试代码
- 写测试代码,运行demo
#include <opencv2/opencv.hpp>
int main() {
// 读取图片
cv::mat img = cv::imread("amy.png");
// 检查图片是否成功读取
if (img.empty()) {
std::cerr << "error: loading image" << std::endl;
return -1;
}
// 创建窗口并显示图片
cv::namedwindow("image display", cv::window_autosize);
cv::imshow("image display", img);
// 等待按键事件,之后关闭窗口
cv::waitkey(0);
cv::destroyallwindows();
return 0;
}
- 大功高成,显示图片,,在vs2022中配置opencv开发环境成功💪,可以玩转opencv了。
发表评论