目录
- 1. 安装依赖项
- 2. 下载OpenCV 4.5.0源文件
- 3. Cmake配置和编译OpenCV
- 4. 环境配置
* - 4.1 配置pkg-config环境
- 4.2 配置动态库环境
- 5. 测试OpenCV
- 6. 用Cmake构建C++项目调用OpenCV
- 7. 一些小问题的解决方法
-
安装依赖项
环境:Ubuntu 20.04
使用g++和cmake编译opencv 4.5.0
①安装g++, cmake, make, wget, unzip,若已安装,此步跳过
sudo apt install -y g++
sudo apt install -y cmake
sudo apt install -y make
sudo apt install -y wget unzip
②安装opencv依赖的库
sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
③安装一些可选的库
sudo apt install python3-dev python3-numpy
sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt install libpng-dev libopenexr-dev libtiff-dev libwebp-dev
- 下载OpenCV 4.5.0源文件
可以在官网下载相应版本的OpenCV,主要有Source和GitHub两种方式下载。
① Source:https://opencv.org/releases/
点击Source进行下载:
② GitHub下载方式:
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
下载完成后,解压到主目录下:
将解压后的文件重命名为opencv:
- Cmake配置和编译OpenCV
① 在主目录下打开终端:
② 进入到下载好的opencv目录中,新建并进入目录build:
cd opencv
mkdir build
cd build
③ 使用cmake配置opencv:
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES ..
说明:
-D OPENCV_GENERATE_PKGCONFIG=YES
OpenCV4以上默认不使用pkg-config,该编译选项开启生成opencv4.pc文件,支持pkg-config功能
④ 用make进行编译(大约需要35分钟)
make -j4
说明:
-j4中的4指同时使用4个进程,可以根据电脑的进程数调整此值
⑤ 用make进行安装
sudo make install
默认安装路径为:
/usr/local/bin – executable files
/usr/local/lib – libraries (.so)
/usr/local/cmake/opencv4 – cmake package
/usr/local/include/opencv4 – headers
/usr/local/share/opencv4 – other files (e.g. trained cascades in XML format)
- 环境配置
4.1 配置pkg-config环境
opencv4.pc文件的默认路径:/usr/local/lib/pkgconfig/opencv4.pc
若此目录下没有,可以使用以下命令搜索:
sudo find / -iname opencv4.pc
可以看到的确在这个目录下
将路径加入到PKG_CONFIG_PATH(用vim打开):
sudo vim /etc/profile.d/pkgconfig.sh
在文件后面加入下面一行:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
保存并退出后激活:
vim保存退出的方式->输入:wq 然后回车
source /etc/profile
用以下命令验证是否成功:
pkg-config --libs opencv4
出现下述内容则成功:
4.2 配置动态库环境
① 打开文件(可能为空文件):
sudo vim /etc/ld.so.conf.d/opencv4.conf
② 在该文件末尾加上OpenCV的lib路径,保存退出:
/usr/local/lib
③ 使配置的路径生效:
sudo ldconfig
- 测试OpenCV
cd 到/opencv/samples/cpp/example_cmake目录下,依次执行以下命令:
cmake .
make
./opencv_example
该测试需要电脑有摄像头,若启动摄像头看到了画面,说明安装成功;若未启动摄像头,但出现如下显示,也安装成功:
- 用Cmake构建C++项目调用OpenCV
下面简单构建一个显示图片的C++程序
① 在桌面新建文件夹ImageShow
② 进入该文件夹,打开终端,输入:
touch main.cpp
③ 用文本编辑器打开main.cpp,输入如下代码:
#include
#include
#include
using namespace cv;
using namespace std;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
cout<<"usage: DisplayImage.out \n";
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
cout<<"No image data \n";
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
④ 终端输入:
touch CMakeLists.txt
⑤ 用文本编辑器打开CMakeLists.txt,输入如下代码:
cmake_minimum_required(VERSION 3.1)
project(ImageShow)
find_package(OpenCV REQUIRED)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
add_executable(ImageShow main.cpp)
target_link_libraries(ImageShow PRIVATE ${OpenCV_LIBS})
⑥ 在该文件夹下加入一张名为flower.jpg的图片,用于测试
⑦ 在终端依次输入如下代码,构建并运行程序:
cmake .
make
./ImageShow flower.jpg
⑧ 程序运行结果如下,成功运行:
- 一些小问题的解决方法
① make时的一些报错:
C++这个fatal error的解决方式:扩大虚拟机内存
两个make的error:卸载python3-dev和python3-numpy
② cmake重新编译的方法:
删除build文件夹下的文件CMakeCache.txt,重新编译即可
rm CMakeCache.txt
③ 一些教程配置动态库环境改的是/etc/bash.bashrc
参考链接:https://blog.csdn.net/smile_from_2015/article/details/80058351
该链接对这个问题有详细的解释
- 参考文章
https://blog.csdn.net/smile_from_2015/article/details/80058351
https://blog.csdn.net/weixin_44554475/article/details/109767632
https://blog.csdn.net/weixin_43118645/article/details/113920231
Original: https://blog.csdn.net/weixin_44796670/article/details/115900538
Author: tiffiny10
Title: Ubuntu 20.04搭建OpenCV 4.5.0 & C++环境
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/701388/
转载文章受原作者版权保护。转载请注明原作者出处!