数据结构论坛

首页 » 分类 » 定义 » AI白身境搞计算机视觉必备的Open
TUhjnbcbe - 2023/7/7 19:37:00
内蒙古白癜风微信交流群 http://liangssw.com/bozhu/12962.html

今天是新专栏《AI白身境》的第五篇。

曾经看过一个视频,树莓派自平衡机器人自动追着小球跑。不经让我脑子蹦出一个有趣的想法,可以做一个识别猫的机器人,让机器人跟着猫跑,有这样一个小东西陪伴喵星人一定很有意思。

不过,首先你要有一只猫,其次,这个机器人不仅要有一双会视觉处理的眼睛,还一定要有一个坚强的外壳,不然会被喵星人给拆了。

那机器人是如何完成处理图像和视频的各项任务呢?开源的计算机视觉包——OpenCV会是你的最佳选择,今天给小白们做一个最简单的入门介绍。

作者

臧小满言有三

编辑

言有三

今天很开心与大家分享一篇关于OpenCV的文章,重点阐述以下几个问题:

1.如何部署OpenCV。

2.OpenCV有哪些模块,可以做什么。

3.OpenCV的基本数据结构的熟悉与使用。

希望看过文章后,你也可以开始玩转OpenCV之路。

01什么OpenCV?

它是一款由Intel公司俄罗斯团队发起并参与和维护的一个计算机视觉处理开源软件库。

作为一款优秀的计算机视觉库,在诸多方面都有着卓越的表现:

1.编程语言

多数模块基于C++实现,少部分基于C语言实现,同时提供了Python、Ruby、MATLAB等语言的接口。

2.跨平台

可自由地运行在Linux、Windows和MacOS等桌面平台,Android、IOS、BlackBerray等移动平台。

3.活跃的开发团队

目前已更新至OpenCV4.0

4.丰富的API

完善的传统计算机视觉算法,涵盖主流传统机器学习算法,同时添加了对深度学习的支持。

OpenCV可以完成几乎所有的图像处理任务,下面是一个简要list。

视频分析(Videoanalysis)3D重建(3Dreconstruction)特征提取(Featureextraction)目标检测(Objectdetection)机器学习(Machinelearning)计算摄影(Computationalphotography)形状分析(Shapeanalysis)光流算法(Opticalflowalgorithms)人脸和目标识别(Faceandobjectrecognition)表面匹配(Surfacematching)文本检测和识别(Textdetectionandrecognition)02如何部署OpenCV?

一般来说我们会使用OpenCV的C++和Python版本,所以下面分别对其安装进行介绍,以ubuntu系统为例。

2.1Ubuntu安装C++OpenCV

安裝OpenCV所需的库

sudoapt-getinstallbuild-essentialsudoapt-getinstallcmakegitlibgtk2.0-devpkg-configlibavcodec-devlibavformat-devlibswscale-dev3sudoapt-getinstallpython-devpython-numpylibtbb2libtbb-devlibjpeg-devlibpng-devlibtiff-devlibjasper-devlibdc-22-dev

下载最新opencv源码

unzipopencv-3.2.0.zipcd~/opencv-3.2.0编译OpenCVcd~/opencv-3.2.0mkdirreleasecdreleasecmake-DCMAKE_BUILD_TYPE=RELEASE-DCMAKE_INSTALL_PREFIX=/usr/local..makesudomakeinstall

一般来说,编译安装绝对不可能一次顺利完成,以下是几个常见的问题。

1,编译过程中ippcv下载失败,解决问题的办法就是手动下载。

2,LAPACK包include报错,解决问题的办法就是在cmake之后马上修改对应include文件的路径如果make失败后再修改则无效。

3,某些模块找不到,通常是因为少了编译安装contrib模块。

2.2Ubuntu安装Python-OpenCV

安装opencvpip3installopencv-python进入python,导入cv2importcv2

03OpenCV模块简介

OpenCV提供了许多内置的用于图像处理和计算机视觉相关操作的基础数据结构,它们都包含在core模块中,并且这些数据结构都已经针对速度和内存做了优化,下面以4.0版本为例进行介绍,参考

1
查看完整版本: AI白身境搞计算机视觉必备的Open