所需E币: 0
时间: 2024-5-29 11:05
大小: 3.26KB
一、什么是OpenCVOpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉和机器学习软件库。它由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV提供了大量的计算机视觉、图像处理和模式识别的算法,包括实时图像处理、视频分析、特征检测、目标跟踪、人脸识别、物体识别、图像分割、光流法、立体视觉、运动估计、机器学习和深度学习等。OpenCV是一个跨平台的库,支持多种操作系统,包括Linux、Windows、Android、MacOS和iOS等。它使用C++编写,同时也提供了Python、Java、MATLAB等语言的接口,方便不同编程语言的开发者使用。由于OpenCV的开源性和跨平台性,它已经成为计算机视觉领域最受欢迎的库之一,广泛应用于工业检测、医学影像处理、智能交通系统、安防监控系统、机器人视觉、游戏开发等领域。OpenCV的设计初衷是实现计算机视觉的自动化,帮助计算机去理解我们的世界,以便自动完成一些基本的任务。它提供了一系列的算法和工具,使得开发者可以更加便捷地实现各种计算机视觉应用。同时,OpenCV也支持多种硬件加速技术,如Intel的IPP和GPU加速,使得计算机视觉应用的性能得到了极大的提升。二、OpenCV4软件特性OpenCV4官方版是一款开源的跨平台计算机视觉库。OpenCV4最新版软件兼容性强,支持Linux、Windows、MacOS等多种操作系统,适用于机互动、物体识别、运动跟踪、图像分割等领域。OpenCV4软件内置了Python、MATLAB、Ruby等语言的接口,用户能够轻松的使用和修改代码。三、opencv主要模块calib3d:该模块由相机校准(calibration)和三维重建(3d)两个部分组成,主要用于相机标定与三维视觉等;core:OpenCV的内核模块,定义了基础数据结构与基础计算;dnn:该模块主要用于深度学习推理部署,不支持模型训练;features2d:该模块主要用于特征点处理,例如特征点检测与匹配等;flann:FLANN为快速最近邻算法(FastLibraryforApproximateNearestNeighbors)的缩写,该模块包含快速近似最近邻搜索和聚类等功能;gapi:该模块对图像处理算法做了加速处理,不属于OpenCV的功能模块;highgui:该模块用于创建图像化界面操作,例如创建和操作图像显示窗口、鼠标与键盘事件处理,进度条等图像化交互操作;imgcodecs:该模块负责图像文件读写,如图像读取与保存;imgproc:该模块是OpenCV图像处理最重要的模块,主要功能如图像滤波、图像几何变换、直方图操作等;ml:该模块为机器学习模块,包含常见的机器学习算法,如支持向量机和随机森林等;objdetect:该模块主要用于图像目标检测,例如Haar特征检测等;photo:该模块主要负责照片处理,如照片修复和去噪等;stitching:该模块负责图像拼接,功能包括图像特征点寻找与匹配等图像拼接技术;video:该模块用于视频分析,如运动估计、背景分离等;videoio:该模块负责视频读写,主要视频文件的读取和写入。四、opencv4比opencv3多了哪些OpenCV4相较于OpenCV3,主要增加了对SIFT与SURF的支持、改进了DNN模块、增加了对特定网络结构的支持、新增了DNN例程、以及功能提升。对SIFT与SURF的支持:在OpenCV3中,SIFT与SURF的API调用文件是包含在扩展模块中的。而在OpenCV4中,如果想要使用SIFT与SURF,需要从源代码中通过CMake编译生成Python版本的安装包。DNN模块的改进:OpenCV4对DNN模块进行了改进,包括:增加了对ONNX中LSTM、Broadcasting、Algebraoverconstants、Slicewithmultipleinputs的支持。增加了对DarkNet中groupedconvolutions、sigmoid、swish、scale_channels的支持。新增了对MobileNetV3-SSD目标检测网络的支持。改进了对TensorFlow、Darknet和ONNX模型导入的功能。新增的DNN例程:人体解析(服饰分割)例程Clothespartssegmentation。DaSiamRPN目标跟踪例程,该算法出自中科院和商汤科技ECCV2018的论文Distractor-awareSiameseNetworksforVisualObjectTracking。功能提升:imgproc模块中的霍夫变换进行圆检测的HoughCircles()函数新增了HOUGH_GRADIENT_ALT实现,显著提高了圆检测的召回率和精度。这些改进和新增功能使得OpenCV4在计算机视觉领域的应用更加广泛和高效。五、opencv配置配置OpenCV环境主要涉及下载、安装、环境变量设置、以及在VisualStudio中添加必要的目录和依赖项。以下是详细的步骤:1、下载和安装OpenCV:访问OpenCV官网,下载适合Windows版本的OpenCV。运行下载的exe文件进行安装2、环境变量设置:在系统属性的高级设置中,进入环境变量设置。在系统变量中,找到并编辑Path变量,添加OpenCV的路径。对于64位系统,通常需要添加的路径是opencv\build\x64\vc16\bin和opencv\build\bin。3、VisualStudio中添加目录和依赖项:打开VisualStudio,创建一个新的C++项目。在项目属性中,添加包含目录(IncludeDirectories),库目录(LibraryDirectories),以及必要的静态和动态链接库。4、测试配置:创建一个C++源文件,编写简单的代码来测试摄像头读取或图像显示功能。如果程序能够正确运行并显示图像或视频流,则说明OpenCV环境配置成功。这些步骤涵盖了从下载安装到环境配置的整个过程,确保在配置时注意区分Debug和Release模式下的不同设置,以及根据具体的OpenCV版本调整路径和文件名。