OpenCV:强大的开源计算机视觉库

计算机视觉是人工智能的一个交叉领域,意图赋予计算机和其它具有计算能力的电子设备高层次的对图像和视频的理解能力。其能力范围是获取、处理并分析数字图像。

上世纪末Intel发起了一个计算机视觉项目,也是OpenCV的前身。也许上世纪一词会让你以为它很古老,但实则OpenCV一致活跃在计算机视觉的前沿,并致力于成为计算机视觉领域的标准API。

作为人工智能的一个子领域,计算机视觉依赖于机器学习甚至深度学习来构建具体的应用。当然其它技术,诸如计算机图形学、图像处理、信号处理、传感器技术以及数学甚至物理在计算机视觉技术中也应用广泛。

如何使用

最初的OpenCV使用C语言实现,后来C++逐步加入并成为了OpenCV开发的核心语言。因此你可以通过C++来使用OpenCV库。另外OpenCV也提供了类似的Python、JavaScript等接口,可以让您避免C++难度过大的问题。

下面小编将为您介绍如何在自己的平台上安装OpenCV以及推荐一些不错的学习资源~

安装OpenCV

作为一款成熟的跨平台开源软件,OpenCV的安装也是超级简单的。下面将介绍在不同平台上安装OpenCV的方法。

Ubuntu

~$ sudo apt install libopencv-dev # 供C++用户使用

如果你需要安装python接口:

~$ sudo apt install python-opencv

ArchLinux

~$ sudo pacman -S --noconfirm opencv

Fedora

~$ yum install numpy opencv*

另外你也可以通过Docker容器来使用OpenCV。

OpenCV3

~$ docker pull spmallick/opencv-docker:opencv-3.4.1
    docker run --device=/dev/video0:/dev/video0 -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -p 5000:5000 -p 8888:8888 -it spmallick/opencv-docker:opencv-3.4.1 /bin/bash

OpenCV4

~$ docker pull spmallick/opencv-docker:opencv-4
    docker run --device=/dev/video0:/dev/video0 -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -p 5000:5000 -p 8888:8888 -it spmallick/opencv-docker:opencv-4 /bin/bash

注意运行此处运行docker镜像用到的参数的目的:

  • –device=/dev/video0:/dev/video0 允许容器使用webcam
  • -v /tmp/.X11-unix:/tmp/.X11-unix 将X11数据转发出来以便能够通过容器使用cv::imshow等函数
  • -e 用来传递环境变量
  • -it 启动交互式会话
  • -p 设置端口转发,将容器与主机的端口进行映射
  • 要使用对应Python环境,进入容器后需要执行source activate OpenCV-master-py2 或者source activate OpenCV-master-py3

Anaconda或者pip

~$ conda install opencv
~$ pip install opencv-python # 安装核心部分
~$ pip install opencv-contrib-python

学习资源

  • 堪称圣经的《Learning OpenCV》系列,最新已经到了《Learning OpenCV4》
  • Learn OpenCV网站及其GitHub仓库
  • OpenCV中文文档
  • OpenCV易百教程

往期文章

在Linux上如何校验ISO镜像文件

Linux下无法挂载exfat格式的分区

Linux下使用redshift来启用护眼模式

在Linux上如何方便地对鼠标右键菜单进行截屏

Linux中那些我们赖以为生的Bash别名

Linux下如何拼接PDF文件

喜爱使用Linux办公、学习、hack的朋友们可以点击关注小编,小编将竭力提供更多内容给大家交流~

© 版权声明

相关文章

6 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    子欣 读者

    大数据,算法,硬件,给人工智能创造了基础

    无记录
  • 头像
    玖玖喵喵喵 读者

    目前来看,缺一不可

    无记录
  • 头像
    不要脸颊肉_ 读者

    腾讯不需要顶级人工智能专家,真正需要的是顶级游戏专家,张潼去华为、百度、阿里应该不会这么尴尬地走人

    无记录
  • 头像
    佛山市鑫盛鸿五金制品有限公司 读者

    不加一个字节跳动

    无记录
  • 头像
    梦想家 读者

    人工智能,呵呵叫人工智障更好吧!

    无记录
  • 头像
    秦晰 读者

    收藏了,感谢分享

    无记录