linux安装配置opencv

  • Post author:
  • Post category:linux


刚开始学习ubuntu,有些项目需要用到opencv,当我用下面的命令安装包的时候,总是出现“E:无法定位软件包 opencv”的错误。然后开始着手解决,网上搜集了很多的教程,大部分都是说要更换源,我也照做了,但是还是出现上述错误。

直到我看到了

这篇优秀的文章

后,我的问题终于解决了。所以想把过程分享给大家。

所以,并不是所有的库都是以“sudo apt-get install package”的方式进行安装的,有些库是有特定的安装方式,具体根据实际情况。

sudo apt-get install package

下面是

这篇优秀的文章

链接,大家可以点击链接参考文章。

但是,有些注意事项我想在这说一下:

1、所有命令(除了 cd )尽量在开头加上“sudo”,否则你会遇到以下错误;

2、严格按照博主的内容进行配置,别出什么幺蛾子。

3、make -j8       //8核编译,电脑核数不够直接make -j

4、依赖库最好一个一个安装,要不然出问题了你都不知道是那一个库的问题!

链接奉上:


https://blog.csdn.net/qq_16792139/article/details/124079537

下面是我安装的过程,记录下来,和博主的基本一致。

1. C/C++编译环境配置

Linux系统下使用C++开发

OPenCV

项目,先要搭建C/C++开发环境,当然,如果你已经搭建好了开发环境,下面的步骤可以省略。

在终端输入:

sudo apt install gcc
sudo apt install g++

安装C/C++编译器GCC、G++

或者安装build-essential,安装了该软件包,编译c/c++所需要的软件包也都会被安装。

sudo apt install build-essential

安装cmake编译工具

sudo apt install cmake

2. 安装相关依赖库

安装libgtk,GTK(GIMP Toolkit)是一个Linux平台下基于Xwindow图形窗口的图形用户编程接口工具,可以借助它来开发Linux平台下基于Xwindow的图形用户界面。

sudo apt install libgtk2.0-dev

安装pkg-config

sudo apt install pkg-config

安装ffmpeg,ffmpeg(命令行工具) 是一个快速的音视频转换工具。

sudo apt install ffmpeg

安装libavcodec-dev

sudo apt install libavcodec-dev 

安装libavformat-dev

sudo apt install libavformat-dev

安装libswscale-dev

sudo apt install libswscale-dev

根据实际需要,选择性安装libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev等,最好安装吧。

sudo apt install libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev libtbb2 libtbb-dev libdc1394 2.x CUDA Toolkit 6.5

3. 安装OpenCV

在OpenCV官网下载sources,下载地址:

Releases – OpenCV

进入安装包所在位置,在终端输入(版本号根据你自己的写):

unzip opencv-4.5.5.zip    

解压完成后当前目录下会生成opencv-4.5.5文件夹,进入该文件夹

cd opencv-4.5.5

在此路径下新建一个编译目录build

sudo mkdir build

进入build目录

cd build

进行cmake-make编译,然后使用cmake命令进行配置

sudo cmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON  -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF  -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=O -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

这条命令会在build目录里生成对应配置的Makefile文件,可以看到配置信息之间是通过空格和-D来分割和标示的,配置了很多信息,我觉得比较重要的一个是 -D OPENCV_GENERATE_PKGCONFIG=ON,生成opencv.pc文件的配置(注意,opencv4生成的文件叫做opencv4.pc),另外就是 CMAKE_INSTALL_PREFIX=/usr/local这个关于安装路径的配置,这里的安装路径是在/usr/local下,这也是opencv的默认配置。


千万注意,最后的两个…千万不要删,这个指向CMakeLists.txt所在的目录。

此时当前目录仍是build,直接编译安装即可

make -j8       //8核编译,电脑核数不够直接-j

make100%即编译成功

然后输入sudo make install进行安装

sudo make install

安装完成后,需要对环境变量进行配置。进入root权限,在终端输入:

sudo -i
vim /etc/ld.so.conf.d/opencv.conf

在vim中进入编辑模式输入:/usr/local/lib,退出保存

然后在终端输入:vim /etc/bash.bashrc,进入bash.bashrc文件,在尾行输入:

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

配置成功,退出root。

exit

4. OpenCV测试

终端输入:ldconfig -v | grep opencv,检查opnecv是否安装成功

ldconfig -v | grep opencv

在任意目录下创建opencv文件夹,将测试图片放过去,编写测试代码

test.cpp

#include<iostream>
#include<opencv4/opencv2/core/core.hpp>
#include<opencv4/opencv2/highgui.hpp>
#include<opencv4/opencv2/opencv.hpp>
​
​
#define Usage()\
{std::cerr<<"usage: ./showpic FILE"<<std::endl;}
int main (int argc, char** argv[])
{
  if(argc !=2) Usage();
  cv::Mat img=cv::imread("/自己的路径/1.png");
  cv::imshow("window",img);
  cv::waitKey(0);
  return 0;
}

CMakeLists.txt

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

在终端cmake-make编译

mkdir build
cd build
cmake ..
make

编译成功后,运行生成的可执行文件DisplayImage

./DisplayImage

显示图片:

至此安装任务完成!



版权声明:本文为weixin_44763592原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。