ubuntu20.04编译安装并配置opencv3.4.5核心库以及贡献库

  opencv是我们日常开发中经常使用的一种库,常用于处理一些图像信息,我在前几天安装的过程中遇到了一些问题,不过最终还是安装好了,所以在这里记录一下自己的安装过程

下载资源包

  在github上下载opencv与opencv_contrib资源包(链接在下面),注意,opencv的版本一定要与contrib对应,此外,opencv4需要处c++ 11的支持,所以如果没有c++ 11, 可以下载4.0以下的版本,再git上切换版本的位置在下图中,先点击master,切换到tags面板,再选择相应的版本下载即可
opencv opencv_contrib
在这里插入图片描述

安装依赖库
sudo apt-get installbuild-essential 
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

  注意,在执行上述第三条命令的时候,可能会出错,提示E:Unable to locate package等错误,此时需要添加源,执行下述语句就可以了

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update

  执行完上述命令后,再次执行第三条命令就成功了

编译安装

  首先将opencv_contrib移动到opencv目录下,为了方便对两个文件夹改名,分别去除其版本号(例如将opencv3.4.5改为opencv),新建文件夹build,进入,在其中打开终端执行命令

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -D DOPENCV_GENERATE_PKGCONFIG=ON ..

  等待上述命令执行完后,同样在build文件夹下执行make命令,这个过程会花挺多的时间,耐心等待,但是你可能会遇到错误提示:缺少boostdesc_bgm.i文件,这时在下面百度网盘链接下载几个文件,下载完成后将其解压,并将所有.i文件复制到opencv/opencv_contrib/modules/xfeatures2d/src/ ,然后make clean后再次make
链接: 百度网盘 密码: ipk5
  同样你可能还会遇到提示fatal error:opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录错误,这很有可能是你没有安装cuda的原因,所以此时先安装cuda就可以解决这个问题了,安装完成后执行下述命令

make clean
make
make install

  当上述两个问题没有解决的时候,如果你用不到贡献库,此时可以选择只安装opencv:先删除opencv包,重新解压一个新的opencv包(opencv_contrib用不到了,不需要解压),再在里面新建一个build文件夹,在build文件夹下执行下述命令就可以完成安装了

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make
suao make install
配置环境变量

  在第一步在网上提供两种不同配置方式,因为我两个都进行了但是不清楚具体哪个是有用的,所以建议两个都进行配置一下
  方式1

sudo gedit /etc/ld.so.conf.d/opencv.conf

  打开可能是空的,在文末添加

  /usr/local/lib

  方式2

sudo gedit /etc/ld.so.conf

  打开也可能是空的,在文末添加

include /usr/loacal/lib 

  执行完后要更新系统的共享链接库

sudo ldconfig

  接着修改bash.bashrc文件

sudo gedit /etc/bash.bashrc 

  在文末添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH 

  保存,这时先不要关闭这个bash文件,直接在刚才的终端执行下述语句

source /etc/bash.bashrc  

  关闭打开的bsh文件

测试环境是否配置成功

  在Home下创建文件夹opencv_lena,进入执行下述命令编辑文件

gedit DisplayImage.cpp

  在其中输入如下代码

#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
	if ( argc != 2 )
	{
		printf("usage: DisplayImage.out <Image_Path>\n");
		return -1;
	}
	Mat image;
	image = imread( argv[1], 1 );
	if ( !image.data )
	{
		printf("No image data \n");
		return -1;
	}
	namedWindow("Display Image", WINDOW_AUTOSIZE );
	imshow("Display Image", image);
	waitKey(0);
	return 0;
}

  保存关闭,还是在此处执行命令编辑文件

gedit CMakeLists.txt

  在其中添加如下代码(VERSION2.8不需要修改)

cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

  编译(在opencv-lena文件夹下在终端打开执行)

cmake .
make

  随便找一张图片,将其命名为lena.jpg,并将其放在opencv-lena下,注意,上述的cpp文件,txt文件与jpg文件都在这个文件下,在opencv_lena下打开终端,执行下述命令,如果能看到图片弹出就证明配置成功了

./DisplayImage lena.jpg
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在 Ubuntu 20.04 系统中编译安装 OpenCV-Python 的步骤: 1. 安装依赖项 ```bash sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev ``` 2. 克隆 OpenCV ```bash git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.5.2 ``` 3. 克隆 OpenCV-contrib(可选) ```bash cd .. git clone https://github.com/opencv/opencv_contrib.git cd opencv_contrib git checkout 4.5.2 ``` 4. 编译 OpenCV ```bash cd ../opencv mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 \ -D PYTHON3_EXECUTABLE=/usr/bin/python3 \ -D PYTHON3_INCLUDE_DIR=/usr/include/python3.8 \ -D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so \ -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \ -D BUILD_opencv_python3=YES \ -D BUILD_opencv_python2=NO \ -D BUILD_EXAMPLES=NO \ -D BUILD_TESTS=NO \ -D BUILD_PERF_TESTS=NO .. make -j8 sudo make install sudo ldconfig ``` 其中,`-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules` 参数是为了编译 OpenCV-contrib 模块,如果不需要可以省略。 5. 测试 OpenCV-Python ```bash python3 >>> import cv2 >>> cv2.__version__ ``` 如果输出的版本号是 4.5.2,则说明安装成功。 以上是在 Ubuntu 20.04 系统中编译安装 OpenCV-Python 的步骤,希望能帮助到你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值