Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0

简介: 本文介绍了在Ubuntu 18.04系统上编译安装OpenCV 3.4.0及其扩展包opencv_contrib 3.4.0的详细步骤,包括下载源码、安装依赖、配置CMake和编译安装,以及常见问题的解决方法。

下载opencv源码和opencv_contrib扩展包

官网地址:https://opencv.org/releases.html

从opencv官网下载opencv3.4.0以及opencv_contrib(python需要 只是c语言使用不需要)压缩包。将下载的opencv3.4.0及opencv_contrib-3.4.0解压,并将opencv_contrib-3.4.0的文件夹放到opencv3.4.0的文件夹中。

安装相关依赖包

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get install -y libopencv-dev
sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev         # 处理图像所需的包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libxvidcore-dev libx264-dev         # 处理视频所需的包
sudo apt-get install libatlas-base-dev gfortran          # 优化opencv功能

通过cmake进行编译安装

先进入文件,创建build

cd opencv-3.4.0
mkdir build
# 创建编译文件
cd build

如果直接输入cmake … 不出意外opencv会链到系统的python2.7上去(看cache可知),所以需要指定到咱下的anaconda的python3上;

cmake -D WITH_IPP=OFF -D PYTHON_DEFAULT_EXECUTABLE=/home/lqs/anaconda3/bin/python3 -D BUILD_opencv_python3=ON -D BUILD_opencv_python2=OFF -D PYTHON3_EXCUTABLE=/home/naphid/Documents/anaconda3/bin/python3 -D PYTHON3_INCLUDE_DIR=/home/lqs/anaconda3/bin/python3.7m -D PYTHON3_LIBRARY=/home/lqs/anaconda3/lib/libpython3.7m.so.1.0 -D PYTHON_NUMPY_PATH=/home/lqs/anaconda3/lib/python3.7/site-packages -D OPENCV_ENABLE_MEMORY_SANITIZER=ON -D WITH_QT=ON -D ENABLE_CXX11=ON ..^C

the same as

cmake 
-D WITH_IPP=OFF 
-D PYTHON_DEFAULT_EXECUTABLE=/home/lqs/anaconda3/bin/python3 
-D BUILD_opencv_python3=ON 
-D BUILD_opencv_python2=OFF 
-D PYTHON3_EXCUTABLE=/home/naphid/Documents/anaconda3/bin/python3 
-D PYTHON3_INCLUDE_DIR=/home/lqs/anaconda3/bin/python3.7m 
-D PYTHON3_LIBRARY=/home/lqs/anaconda3/lib/libpython3.7m.so.1.0 
-D PYTHON_NUMPY_PATH=/home/lqs/anaconda3/lib/python3.7/site-packages 
-D OPENCV_ENABLE_MEMORY_SANITIZER=ON 
-D WITH_QT=ON -D ENABLE_CXX11=ON ..

cmake之后就会出现以下界面
在这里插入图片描述
进行make编译,需要很久,静静等待。

make -j8 #这里的8表示线程的数量

在这里插入图片描述
编译完了就可以开始安装了

sudo make install

在这里插入图片描述

安装完成

完成之后就可以通过import cv2来验证了
在这里插入图片描述

安装注意事项

  • 错误1:在这里插入图片描述
    解决办法:如果你没有加入opencv的扩展包,然后放入在里面继续运行
  • 错误2:/home/lqs/Downloads/opencv-3.4.0/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:10: fatal error: linux/videodev.h: 没有那个文件或目录
    解决办法:这个错误的解决方式是cmake 的时候添加 -D ENABLE_CXX11=ON
  • 错误3:linux下报错没有头文件那个文件或目录
    解决办法:将/usr/include/86_64-linux-gnu/sys下的io.h复制到/usr/include下面,链接
  • 错误4: linux/videodev.h: 没有那个文件或目录
    解决办法
    1.sudo apt-get install libv4l-dev
    2.sudo ln -s /usr/include/libvl1-videodev.h /usr/include/linux/videodev.h(如果还是不行就删除之后在执行这句)
  • 错误5: sys/videodev.h: 没有那个文件或目录
    解决办法
    1.sudo cp /usr/include/opencv2/videoio/videoio_c.h /usr/include/x86_64-linux-gnu/sys
    2.sudo ln -s /usr/include/x86_64-linux-gnu/sys/videoio_c.h /usr/include/x86_64-linux-gnu/sys/videoio.h
  • 错误6:Looking for ccache - not found
    解决办法sudo apt install ccache
  • 错误7:Found ZLIB: /usr/local/lib/libz.so (found suitable version “1.2.11”, minimum required is “1.2.3”)
    解决办法链接
  • 错误8:~/cv2.cpp:885:34: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
    解决办法:打开cv2.cpp 找到885行 将char* str = PyString_AsString(obj)改为char* str = const_cast<char*>(PyString_AsString(obj))
目录
相关文章
|
1月前
|
Ubuntu 开发工具 git
Ubuntu安装homebrew的完整教程
本文介绍了如何在没有公网的情况下安装 Homebrew。首先访问 Homebrew 官网,然后通过阿里云的镜像克隆安装脚本,并创建普通用户进行安装。接着修改 `install.sh` 文件指向国内镜像,执行安装命令。最后配置环境变量并更换 Homebrew 源为国内镜像,确保安装顺利。
208 50
|
22天前
|
Ubuntu
ubuntu和debian 的安装包dpkg管理命令对安装包进行安装,查询,卸载
Ubuntu dpkg 软件包管理命令概览:安装、卸载、查看和配置软件包。包括解决依赖、强制卸载、列出及过滤已安装包、查看包详情等操作。
52 10
|
24天前
|
Ubuntu API 开发工具
PSOPT在Ubuntu22.04下的安装
通过上述步骤,可以在Ubuntu 22.04下成功安装并配置PSOPT。PSOPT是一个功能强大的工具,适用于解决各种最优控制问题。确保在安装前满足系统要求,并仔细按照步骤操作,可以避免大多数常见问题。通过MATLAB与PSOPT的结合,您可以更高效地处理复杂的控制问题,并获得准确的解决方案。
31 5
|
25天前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
|
2月前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
181 4
Linux系统之Ubuntu安装cockpit管理工具
|
2月前
|
监控 Ubuntu Linux
视频监控笔记(五):Ubuntu和windows时区同步问题-your clock is behind
这篇文章介绍了如何在Ubuntu和Windows系统中通过设置相同的时区并使用ntp服务来解决时间同步问题。
76 4
视频监控笔记(五):Ubuntu和windows时区同步问题-your clock is behind
|
2月前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
196 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
2月前
|
机器学习/深度学习 计算机视觉
目标检测笔记(六):如何结合特定区域进行目标检测(基于OpenCV的人脸检测实例)
本文介绍了如何使用OpenCV进行特定区域的目标检测,包括人脸检测实例,展示了两种实现方法和相应的代码。
79 1
目标检测笔记(六):如何结合特定区域进行目标检测(基于OpenCV的人脸检测实例)
|
2月前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统编译OpenCV4.8源码
【10月更文挑战第17天】只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。
|
2月前
|
Kubernetes Ubuntu Docker
从0开始搞K8S:使用Ubuntu进行安装(环境安装)
通过上述步骤,你已经在Ubuntu上成功搭建了一个基本的Kubernetes单节点集群。这只是开始,Kubernetes的世界广阔且深邃,接下来你可以尝试部署应用、了解Kubernetes的高级概念如Services、Deployments、Ingress等,以及探索如何利用Helm等工具进行应用管理,逐步提升你的Kubernetes技能树。记住,实践是最好的老师,不断实验与学习,你将逐渐掌握这一强大的容器编排技术。
253 1