ubuntu18.04 安装opencv4.8.0教程

一.安装准备
安装前需要下载一些必须的依赖项。 不同版本opencv依赖会有不同,具体见官网opencv安装

sudo apt-get install build-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

常出现的问题:无法定位 libjasper-dev


sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

二.安装opencv

sudo apt-get install git
git clone https://github.com/opencv/opencv.git
mkdir build
cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_GTK=ON -D OPENCV_GENERATE_PKGCONFIG=YES OPENCV_EXTRA_MODULES_PATH=/home/edy/opencv-4.8.0/opencv_contrib-4.8.0/modules/ ..

OPENCV_GENERATE_PKGCONFIG=YES:表示自动生成OpenCV的pkgconfig文件,否则需要自己手动生成。
opencv_contrib的目录需要根据自己电脑更改

编译和安装

make -j 
sudo make install

三.环境变量配置
1.将OpenCV的库添加到系统路径
一:配置ld.so.conf文件
sudo gedit /etc/ld.so.conf
在文件中加上一行

include /etc/ld.so.conf.d/*.conf
include /usr/local/lib

二:手动生成opencv.conf文件

sudo gedit /etc/ld.so.conf.d/opencv.conf
内容如下

/usr/local/lib

以上两种方法配置好后,执行如下命令使得配置的路径生效

sudo ldconfig

三:生成opencv4.pc文件

sudo touch /usr/local/lib/pkgconfig/opencv4.pc

内容如下

# Package Information for pkg-config
prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir_old=${prefix}/include/opencv4/opencv2
includedir_new=${prefix}/include/opencv4

Name: OpenCV
Description: Open Source Computer Vision Library
Version: 4.8.0
Libs: -L${exec_prefix}/lib -lopencv_gapi -lopencv_stitching -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_quality -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_videostab -lopencv_video -lopencv_xfeatures2d -lopencv_shape -lopencv_ml -lopencv_ximgproc -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_flann -lopencv_xphoto -lopencv_photo -lopencv_imgproc -lopencv_core
Libs.private: -ldl -lm -lpthread -lrt
Cflags: -I${includedir_old} -I${includedir_new}


配置系统bash
因为在cmake时,选择了自动生成OpenCV的pkgconfig文件,在/usr/local/lib/pkgconfig路径可以看到文件,确保文件存在,执行如下命令

sudo gedit /etc/bash.bashrc

在文末添加

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

保存退出,然后执行如下命令使配置生效

source /etc/bash.bashrc

查看版本

pkg-config --modversion opencv4
pkg-config --cflags opencv4
pkg-config --libs opencv4

编写一个文件试试

#include <iostream>
#include <opencv2/opencv.hpp>
 
using namespace std;
using namespace cv;

int main()
{
    Mat srcImage = imread("opencv.jpg");
    imshow("Display Image window",srcImage);
    waitKey(0);
    return 0;
}

在该cpp的同级目录下放一张图片,并编译

g++ `pkg-config opencv4 --cflags` demo.cpp  -o demo `pkg-config opencv4 --libs`

运行 ./demo即可

猜你喜欢

转载自blog.csdn.net/ryanji/article/details/131514167