OpenCV简介
一、OpenCV简介
OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉处理开源软件库,是由Intel公司俄罗斯团队发起并参与和维护,支持与计算机视觉和机器学习相关的众多算法,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序,该程序库也可以使用英特尔公司的IPP进行加速处理。
二、OpenCV优势
编程语言
OpenCV基于C++实现,同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Python API,结合了OpenCV C++API和Python语言的最佳特性。跨平台
OpenCV可以在不同的系统平台上使用,包括Windows,Linux,OS,X,Android和iOS。基于CUDA和OpenCL的高速GPU操作接口也在积极开发中。活跃的开发团队
自从第一个预览版本于2000年公开以来,一直在进行更新。丰富的API
完善的传统计算机视觉算法,涵盖主流的机器学习算法,同时添加了对深度学习的支持。
三、OpenCV应用领域
1、人机互动
2、物体识别
3、 图像分割
图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。
4、人脸识别
5、动作识别
6、 运动跟踪
7、机器人
8、运动分析
9、机器视觉
10、结构分析
11、汽车安全驾驶
四、OpenCV-Python
Opencv-Python是旨在解决计算机视觉问题的专用库。
Python是由Guidovan Rossum发起的通用编程语言,很快就非常流行,主要是因为他的简单性和代码可读性。它使得程序员可以用较少的代码行表达想法,而不会降低可读性。与C/C++之类的语言,Python速度较慢。也就是说,可以使用C/C++轻松扩展Python,这使得我们能够用C/C++编写计算机密集型代码并创建可用作Python模块的Python包装器。它给我们带来了两个好处: 首先,代码与原始C/C++代码一样快(因为它是在后台运行的实际C++代码), 其次,在Python中比C/C++编写代码更容易。Opencv-Python是原始Opencv C++实现的Python包装器。
Opencv-Python利用了Numpy,这是一个高度优化的库,用于使用MATLAB样式的语言进行数值运算。所有Opencv数组结构都与Numpy数组相互转换。这也使与使用Numpy的其他库(例如Scipy和Matplotlib)的集成变得更加容易。
五、OpenCV核心模块介绍
Core:核心组件模块
包含:基础结构和操作,动态结构,数组操作,绘图函数,XML等等。
Imgproc:图像处理模块
包含:图像滤波,几何图像变换,混合图像变换,直方图,形状匹配运动分析及目标追踪,目标检测。
Highguii:顶层GUI及视频I/O
包含:用户界面,读写视频,QT新功能。
Video:视频分析
包含:运动分析及目标跟踪。
Calib3d:摄像机标定及三维重建
Features2d:二维特征框架
包含:特征描述和检测,特征提取,角点与匹配等等。
Objdetect:目标检测
包含:SVM及其它分类器
Mi:机器学习
包含:支持向量机,决策树,随机树,最大期望,神经网络,机器学习等等。
Flann:聚类及多维空间搜索
包含:快速最近邻搜索及聚合
GPU:计算机视觉中GPU加速
包含:GPU模块及数据结构,图像分析和处理。
Photo:计算图像
包含:图像修复及去噪。
Stitching:图像拼接
包含:图像拼接,接缝估计,图像融合技术。
Nonfree:付费功能
包含:特征检测与描述相关受保护成果。
Contrib:实验成果
未成熟的理论应用。
Legacy:弃用的成果
包含一些弃用的成果。
Ocl:计算机视觉中OpenCL加速
图标组件是展示图标的组件,但是再Flutter中,Icon组件是只是起一个展示效果,不能进行交互,如果要实现交互,就需要使用图标按钮IconButton组件。
ip命令是iproute软件包中的一个强大的网络配置工具,用于显示和管理Linux系统的路由、网络设备、策略路由和隧道。Centos7推荐使用ip命令代替传统的ipconfig和route[该命令我们没有进行说明,需要学习的请参考网上资料]命令。
《阿刁》是由赵雷作词、作曲并演唱的一首歌曲,该曲收录于赵雷2016年12月21日发行的专辑《无法长大》中。张韶涵在《我是歌手》中把这首歌唱出了另一种味道。
《你的答案》是由林晨阳、刘涛作词,刘涛作曲,谭侃侃编曲,刘涛制作,阿冗演唱的歌曲,发行于2019年11月1日。
php中的array_walk_recursive函数对数组中的每个成员递归地应用用户函数
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。