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))
目录
相关文章
|
20天前
|
Ubuntu 开发工具 git
Ubuntu安装homebrew的完整教程
本文介绍了如何在没有公网的情况下安装 Homebrew。首先访问 Homebrew 官网,然后通过阿里云的镜像克隆安装脚本,并创建普通用户进行安装。接着修改 `install.sh` 文件指向国内镜像,执行安装命令。最后配置环境变量并更换 Homebrew 源为国内镜像,确保安装顺利。
147 50
|
2月前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
152 4
Linux系统之Ubuntu安装cockpit管理工具
|
2月前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
166 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
2月前
|
机器学习/深度学习 计算机视觉
目标检测笔记(六):如何结合特定区域进行目标检测(基于OpenCV的人脸检测实例)
本文介绍了如何使用OpenCV进行特定区域的目标检测,包括人脸检测实例,展示了两种实现方法和相应的代码。
65 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技能树。记住,实践是最好的老师,不断实验与学习,你将逐渐掌握这一强大的容器编排技术。
190 1
|
2月前
|
Ubuntu Linux
软件安装(五):Ubuntu 18.04安装Teamviewer 看一遍就会
这篇文章介绍了在Ubuntu 18.04系统上通过图形界面和命令行两种方法安装TeamViewer远程控制软件的步骤。
39 2
|
2月前
|
Serverless 计算机视觉
语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆
这篇文章介绍了如何使用OpenCV库通过mask图像绘制分割对象的外接椭圆。首先,需要加载mask图像,然后使用`cv2.findContours()`寻找轮廓,接着用`cv2.fitEllipse()`拟合外接椭圆,最后用`cv2.ellipse()`绘制椭圆。文章提供了详细的代码示例,展示了从读取图像到显示结果的完整过程。
59 0
语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆
|
29天前
|
消息中间件 Ubuntu Java
Ubuntu系统上安装Apache Kafka
Ubuntu系统上安装Apache Kafka
|
2月前
|
Ubuntu Linux
Ubuntu 16.04下无法安装.deb的解决方法
希望以上策略能有效协助您克服在Ubuntu 16.04中安装.deb文件时遇到的挑战。
46 0