OpenCV是一个开源的计算机视觉和机器学习库,可以在不同的操作系统(如Windows、Linux和Android)上运行。它使用C++、Python和Java等语言编写,可以进行各种图像处理任务,例如物体检测、图像分割、人脸识别、人脸跟踪、运动分析等。 OpenCV可以通过使用很多算法来实现这些任务,例如SIFT、SURF、ORB和FAST算法等。此外,OpenCV还允许用户在其基础上构建自己的应用程序。OpenCV是应用程序开发者和研究人员进行计算机视觉和机器学习研究的首选工具,因为它易于使用和自定义,并且具有极高的灵活性和可扩展性。
使用方法
配置环境变量:
在系统变量里面新建变量,名为 OPENCV ,值为自己解压opencv路径下的build路径,如 D:\Program Files\opencv\build。
Tip
这一步是方便以后如果opencv路径改变了,只需要修改此变量就可以了,而不必做大范围修改。
在系统变量里面编辑 Path 变量,在末尾添加 ;%OPENCV%\x86\vc12\bin 。
Note
x86和x64分别表示32bit和64bit的VS工程,根据自己的工程来修改,否则虽编译成功但会运行错误;vc10, vc11, vc12 分别表示VS2010, VS2012, VS2013的Visual Studio使用的编译器版本,根据自己的VS版本来填写正确的编译器版本号。
VS内配置Opencv
这里用VS属性表的方式将Opencv配进工程,每次只需要添加属性表即可完成配置,比手工界面配置方便很多。
属性管理器 -> 右键 "test"(工程名) -> 添加现有属性表
找到之前新建或者下载的属性表( D:\Program Files\opencv\opencv248.props ),添加进工程
测试
解决方案资源管理器 -> 源文件(右键)-> 添加 -> 新建项
Visual C++ -> C++文件:输入名称test点添加
功能特色
计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:
1.研究代码(慢,不稳定,独立并与其他库不兼容)
2.耗费很高的商业化工具(比如Halcon, MATLAB+Simulink)
3.依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状。而标准的API将简化计算机视觉程序和解决方案的开发。OpenCV致力于成为这样的标准API。
OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。右图为OpenCV与当前其他主流视觉函数库的性能比较。
特点
OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉库,提供了广泛的计算机视觉算法和工具,包括:
1. 图像处理和分析:包括图像变换、滤波、边缘检测、图像分割等等。
2. 物体识别和跟踪:包括目标检测、目标跟踪、人脸识别等等。
3. 机器学习:包括分类、聚类、回归、支持向量机等等。
4. 图像检索:包括图像匹配、图像检索等等。
5. 人机交互:包括手势识别、姿态估计等等。
应用领域
1、人机互动
2、物体识别
3、图像分割
4、人脸识别
5、动作识别
6、运动跟踪
7、机器人
8、运动分析
9、机器视觉
10、结构分析
11、汽车安全驾驶
OpenCV优势
1. 开源免费:OpenCV是一个完全免费的开源计算机视觉库,开发者可以自由使用、修改和分发。
2. 跨平台:OpenCV可在多种操作系统上运行,包括Windows、Linux、Mac OS等等。
3. 多语言支持:OpenCV支持多种编程语言,包括C++、Python、Java等等。
4. 大量算法库:OpenCV提供了广泛的计算机视觉算法和工具,包括图像处理和分析、物体识别和跟踪、机器学习等等。
5. 容易集成:OpenCV易于与其他库集成,如OpenGL、Qt、Boost等等。
6. 活跃的社区:OpenCV有一个活跃的社区,提供支持、文档、示例代码等等。
以上便是KKX小编给大家分享介绍的OpenCV跨平台视觉库的相关介绍,有用到该工具的朋友快通过下面地址来获取吧!