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了。