Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Ubuntu下源码安装Opencv完全指南

Ubuntu下源码安装Opencv完全指南

作者头像
老潘
发布于 2023-10-19 02:36:38
发布于 2023-10-19 02:36:38
95500
代码可运行
举报
运行总次数:0
代码可运行

前言

Opencv大家很熟悉了,经典的图像处理库,Opencv在Windows下安装是很简单的,只需要配置DLL即可。但是在Linux下,因为Linux各种发行版本多种多样,所以我们只有自己通过编译源码的方式来安装Opencv了,源码安装会自动根据你当前的Ubuntu系统中安装的组件来编译Opencv源码,所以说你编译好的这份Opencv库是独一无二的,移到别的地方就不行了哦。

这里讲解如何在Ubuntu系统中利用源码安装Opencv。

安装指南

最开始,老规矩先更新下我们的系统:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get update
sudo apt-get upgrade

其次我们要做的是——安装所有依赖件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 首先我们先移除系统中已经存在的依赖,这一部必须要做
sudo apt-get remove x264 libx264-dev
 
# 然后安装我们需要的依赖
sudo apt-get install build-essential checkinstall cmake pkg-config yasm
sudo apt-get install git gfortran
sudo apt-get install libjpeg8-dev libjasper-dev libpng12-dev
 
# 下面根据版本选择安装 
#  Ubuntu 14.04
sudo apt-get install libtiff4-dev
#  Ubuntu 16.04
sudo apt-get install libtiff5-dev
 
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
sudo apt-get install libxine2-dev libv4l-dev
sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo apt-get install qt5-default libgtk2.0-dev libtbb-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev
sudo apt-get install libvorbis-dev libxvidcore-dev
sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev
sudo apt-get install x264 v4l-utils
 
# 可选安装
sudo apt-get install libprotobuf-dev protobuf-compiler
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen

需要注意的是,上面的这些依赖件一定要都确认安装完毕,如果某些依赖没有安装正确后,编译好的Opencv会缺失一些基本的功能(在编译Opencv过程中会有提示,但是不会中断!),如果源码编译好后发现Opencv有功能缺失。

例如。利用 cv2.imread() 读出的图像是 None

最好确认一下上述的依赖是否安装正确。

安装python依赖(可选)

(注意,这部分只适合系统中没有安装任何python组件,如果你的系统已经安装了python组件,那么只需要安装python-dev和python3-dev即可,然后在各自的环境中pip安装 numpy scipy matplotlib scikit-image scikit-learn ipython 即可)

安装好所有依赖后,我们接下来安装需要的Python依赖,两个版本的都要装,Opencv会自动生成两个版本的python依赖。 (如果只想用C/C++版不想用python版可以不安装,Opencv安装时会自动忽略)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get install python-dev python-pip python3-dev python3-pip

sudo -H pip2 install -U pip numpy
sudo -H pip3 install -U pip numpy

创建虚拟环境进行安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Install virtual environment
sudo pip2 install virtualenv virtualenvwrapper
sudo pip3 install virtualenv virtualenvwrapper
echo "# Virtual Environment Wrapper"  >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc
  
############ For Python 2 ############
# create virtual environment
mkvirtualenv facecourse-py2 -p python2
workon facecourse-py2
  
# now install python libraries within this virtual environment
pip install numpy scipy matplotlib scikit-image scikit-learn ipython
  
# quit virtual environment
deactivate
######################################
  
############ For Python 3 ############
# create virtual environment
mkvirtualenv facecourse-py3 -p python3
workon facecourse-py3
  
# now install python libraries within this virtual environment
pip install numpy scipy matplotlib scikit-image scikit-learn ipython
  
# quit virtual environment
deactivate
######################################

下载OpenCV和OpenCV_contrib

下载下来就对了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/opencv/opencv.git
cd opencv 
git checkout 3.4.2 
cd ..

git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 3.4.2
cd ..

安装OpenCv

安装过程很简单,进入我们的opencv目录,创建一个build的文件夹,进入这个文件夹执行相应的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd opencv              # 进入目录
mkdir build            # 创建文件夹
cd build               

进入后,首先我们利用cmake生成makefile,当然还有很多的选择项设置,具体可以查看cmakelist文件中的帮助信息,对于我们来说这些就足够了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..

如果对CMakeLists文件不进行修改,那么Opencv默认的安装位置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/local/include/opencv2/         -- 新版Opencv核心头文件
/usr/local/include/opencv/          -- 旧Opencv核心头文件
/usr/local/share/OpenCV/            -- 一些Opencv其他安装信息
/usr/local/lib/                     -- Opencv中的动态链接库存放位置

cmake后,我们进行make操作,首先利用nproc命令查看系统有多少线程,其次按照线程数来执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 利用下面的命令得到系统的线程数
nproc
# 得到n下面输入jn
make -j12                        # 这里我是12
sudo make install
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

创建link

假如使用python接口的话,我们编译好了OpenCV后需要查看生成的.so文件在哪里:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
find /usr/local/lib/ -type f -name "cv2*.so"

找到的位置因为自己的python安装地址不同,生成的地址也不同:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
############ For Python 2 ############
## binary installed in dist-packages
path/to/python2.6/site-packages/cv2.so
path/to/python2.7/site-packages/cv2.so
## binary installed in site-packages
path/to/python2.6/site-packages/cv2.so
path/to/python2.7/site-packages/cv2.so
  
############ For Python 3 ############
## binary installed in dist-packages
path/to/python3.5/site-packages/cv2.cpython-35m-x86_64-linux-gnu.so
path/to/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so
## binary installed in site-packages
path/to/python3.5/site-packages/cv2.cpython-35m-x86_64-linux-gnu.so
path/to/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so

然后根据地址来生成link(注意,下方的地址修改成自己的地址):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
############ For Python 2 ############
cd path/to/python2.7/site-packages
ln -s path/to/python2.7/site-packages/cv2.so cv2.so
  
############ For Python 3 ############
cd path/to/python3.6/site-packages
ln -s path/to/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so cv2.so

后续操作

测试安装是否正确

很简单,自己写个使用Opencv的test.cpp的文件,然后利用下面的命令编译一下看看能不能运行即可:

g++ –std=c++11 test.cpp ‘pkg–config —libs —cflags opencv’ –o test

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-9-2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Ubuntu 16.04 Install OpenCV
---- 安装opencv有很多种方式,我列出了两种方式。并针对第二种方式进行了详细的安装解释。 从Ubuntu源安装opencv sudo apt-get install libopencv-dev python-opencv 从opencv官方源代码安装 1.安装opencv所依赖的包 # KEEP UBUNTU OR DEBIAN UP TO DATE sudo apt-get -y update sudo apt-get -y upgrade sudo apt-get -y dist-upgrad
吕海峰
2018/04/03
1.6K0
Ubuntu 18.04安装OpenCV4.0和环境配置
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
zhangrelay
2019/11/27
4.1K0
树莓派3b+ python3.5+opencv3.4.1下载安装及配置详解
记录一下 可行的树莓派 3B+  python3.5+opencv3.4.1下载安装及配置
Fivecc
2022/11/21
6690
树莓派3b+ python3.5+opencv3.4.1下载安装及配置详解
Ubuntu16.04安装OpenCV
这里需要下载 opencv 和 opencv_contrib (后者会在 cmake 配置的时候用到), 这是因为 opencv3以后 SIFT 和 SURF 之类的属性被移到了 contrib 中,执行下面两条指令下载 OpenCV3.2.0
foochane
2019/05/23
2K0
从源码安装OpenCV,使用python
需要的有两个部分:opencv 和opencv_contrib 这两个部分选择相同的版本,opencv_contrib是opencv的扩充.
py3study
2020/01/10
2.4K0
Ubuntu下编译安装OpenCV 2.4.13以及Python调用OpenCV方法
1. build-essential 软件包,为编译程序提供必需软件包的列表信息,这样软件包才知道头文件、库函数在哪里。
知忆
2021/06/07
1.7K0
Mac-OSX的Python3.5虚拟环境下安装Opencv
用户1170933
2018/01/05
1.4K0
【教程】Jetson安装PyQt5和CUDA版OpenCV
编译报错:nvcc fatal : Unsupported gpu architecture 'compute_87
小锋学长生活大爆炸
2024/05/25
2560
【教程】Jetson安装PyQt5和CUDA版OpenCV
bash: 一键安装OpenCV (with Python3)
pip 会 自动 根据 当前所在的环境,为你安装好对应python版本的opencv。非常非常方便。
JNingWei
2018/09/28
8940
【教程】Jetson安装PyQt5和CUDA版OpenCV
编译报错:nvcc fatal : Unsupported gpu architecture 'compute_87
小锋学长生活大爆炸
2024/05/28
3880
7行Python的人脸识别
随着去年alphago 的震撼表现,AI 再次成为科技公司的宠儿。AI涉及的领域众多,图像识别中的人脸识别是其中一个有趣的分支。百度的BFR,Face++的开放平台,汉王,讯飞等等都提供了人脸识别的API,对于老码农而言,自己写一小段代码,来看看一张图片中有几个人,没有高大上,只是觉得好玩,而且只需要7行代码。
半吊子全栈工匠
2018/08/22
1.6K0
7行Python的人脸识别
macOS和Linux上手动编译OpenCV并作为依赖添加到Python/C++/Java
OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP进行加速处理。
Mintimate
2021/09/28
6.5K1
macOS和Linux上手动编译OpenCV并作为依赖添加到Python/C++/Java
在MacOS上源码安装OpenCV-4.0.0
OpenCV-4.0.0已经放出来一阵日子了,很有新功能新特性值得尝试,由于MacOS上的brewhome包中编译好的OpenCV版本只有3.4.3,为了在MacOS上安装最新的OpenCV,只好走源码编译这条路了。
老潘
2023/10/19
4500
在MacOS上源码安装OpenCV-4.0.0
centos6.5下安装OpenCV+P
Python调用opencv的原理是:opencv编译出共享库文件,python把这个共享库文件作为一个模块加载并使用。通俗点就是,编译opencv的时候开启python接口选项,编译好了会产生cv2.so(linux下)或者cv2.pyd(windows下)这个共享库文件,python代码中import这个cv2就可以用了。为了能正确import它,往往需要把cv2.so放在python找包能找到的路径下,或者修改PYTHONPATH环境变量让它包含cv2.so所在路径。此外,python的opencv接口中,图像使用numpy数组表示的,所以往往还需要安装numpy、scipy、matplotlib这几个包。
py3study
2020/01/09
1K0
centos6.5下安装OpenCV+P
独家 | 如何为计算机视觉和深度学习安置英伟达?
本文教你如何使用 Tensor Flow,Keras,Tensor RT,以及OpenCV来为计算机视觉和深度学习安置你的英伟达Jetson Nano。
数据派THU
2020/06/04
1.5K0
YOLOv4: Darknet 如何于 Ubuntu 编译,及使用 Python 接口
本文将介绍 YOLOv4 官方 Darknet 实现,如何于 Ubuntu 18.04 编译,及使用 Python 接口。
GoCoding
2021/05/06
1.4K0
YOLOv4: Darknet 如何于 Ubuntu 编译,及使用 Python 接口
2018-04-08ubunu16.04.4LTS环境配置
一、安装ubuntu 1、下载ubuntu镜像文件 Download Ubuntu Desktop 2、制作启动光盘 如果是windows操作系统:插入空白dvd光盘,在iso文件上右键,选择“刻录光盘映像” 参考windows7中把ISO文件轻松刻录成光盘的方法(图文教程) 如果是ubuntu系统:Ubuntu14.04系统下,如何将.iso文件刻录到CD/DVD光盘 3、安装 二、搜狗输入法安装 1、参考Ubuntu 16.04 LTS安装sogou输入法详解 注意:fcitx configure未出现
用户1733354
2018/05/22
1.6K0
Python人脸识别技术实现
随着去年alphago 的震撼表现,AI 再次成为科技公司的宠儿。AI涉及的领域众多,图像识别中的人脸识别是其中一个有趣的分支。百度的BFR,Face++的开放平台,汉王,讯飞等等都提供了人脸识别的API,对于老码农而言,自己写一小段代码,来看看一张图片中有几个人,没有高大上,只是觉得好玩,而且只需要7行代码。
用户8710643
2021/06/11
1.4K0
【安装教程】Ubuntu16.04+Caffe+英伟达驱动410+Cuda10.0+Cudnn7.5+Python2.7+Opencv3.4.6安装教程
对于caffe的安装过程,可以说是让我终身难忘。两个星期就为了一个caffe,这其中的心路历程只有自己懂。从实验室的低配置显卡开始装Ubuntu,到编译caffe,解决各种报错,这个过程花费了一周的时间。把cuda版本和N卡驱动版本一降再降,仍然不管用。因此手剁了一台8000的高配置主机。之后为了平衡实验室项目,首先花了半天时间将win10下的相关和其他杂七杂八的软件配置。只有以为只需Ubuntu安装好,caffe编译成功即可,不想安装完Ubuntu之后,却电脑没有引导启动项,把网上的方法试了个遍,却仍无法解决。因此听到一种说法是,win10的启动路径覆盖了Ubuntu启动路径。因此,决定重新再来,将自己的固态和机械全部初始化,首先在固态上安装Ubuntu16.04,在机械上安装Win10,对于双系统的安装请参照我的另一篇博客:Win10与Ubuntu16.04双系统安装教程。在这种情况下参加那个caffe安装成功。请注意,对于双系统建议先安装Ubuntu,并将caffe编译成功之后在去机械上安装Win10。Caffe的安装教程请参照如下安装教程。
AI那点小事
2020/04/20
1.9K0
【安装教程】Ubuntu16.04+Caffe+英伟达驱动410+Cuda10.0+Cudnn7.5+Python2.7+Opencv3.4.6安装教程
Caffe - Ubuntu 安装及问题解决
注:cuDNN在很多工程中兼容性较差,可能需要安装特定的历史版本,只需对如上命令中的版本进行修改. 查看caffe 是否成功使用cuDNN v5:
AIHGF
2019/02/18
4K0
相关推荐
Ubuntu 16.04 Install OpenCV
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验