当在Ubuntu上安装OpenCV时,可以按照以下详细步骤进行操作:
一、opencv编译安装
1. 更新apt包列表:
sudo apt update
这将更新系统的包列表,确保可以获取到最新的软件包信息。
2. 安装所需依赖项:
sudo apt install build-essential cmake git pkg-config
sudo apt install libjpeg-dev libtiff5-dev libpng-dev
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
sudo apt install libgtk-3-dev
sudo apt install libatlas-base-dev gfortran
这些命令将安装构建OpenCV所需的各种依赖项,包括编译工具、图像处理库、视频处理库、GUI库等。
3. 克隆OpenCV源码库或者下载源码:
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout <version>
使用git clone
命令克隆OpenCV的源码库,并使用cd
命令切换到克隆的目录中。如果需要特定的版本,请使用git checkout
命令切换到相应的标签或分支。
源码下载:
opencv下载
4. cd 到opecv目录,创建一个用于构建的目录:
$ mkdir build
$ cd build
在OpenCV的源码目录下创建一个用于构建的目录,并切换到该目录。
5. 配置CMake:
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4 ..
使用cmake
命令配置构建过程:
- CMAKE_BUILD_TYPE=Release 这里设置了构建类型为Release
- -D CMAKE_INSTALL_PREFIX=/usr/local 生成的文件将安装到
/usr/local/opencv3.4
目录下。 ..
表示在当前目录的父目录中寻找CMakeLists.txt文件。
6. 编译OpenCV:
sudo make -j8
使用make
命令进行编译,-j8
参数表示使用8个线程进行编译,可以根据系统性能进行调整。
7. 安装OpenCV:
$ sudo make install
使用make install
命令将编译生成的文件安装到系统中。
8. 环境配置:
1、添加库路径
打开文件进行编辑:
sudo vim /etc/ld.so.conf.d/opencv.conf
输入下面的内容,然后保存并退出
// opencv 的lib目录
/usr/local/opencv3.4/lib
sudo ldconfig -v
2、添加环境变量
打开文件进行编辑:
vim ~/.bashrc
在末尾加入:
# OpenCV 相关环境变量
export PKG_CONFIG_PATH="/usr/local/opencv3.4/lib/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="/usr/local/opencv3.4/lib:$LD_LIBRARY_PATH"
3、更新环境变量
source ~/.bashrc
9. 验证安装:
pkg-config --modversion opencv4
# 或者
pkg-config --modversion opencv
使用pkg-config
命令验证OpenCV是否正确安装,并显示OpenCV的版本号。
以上就是在Ubuntu上安装OpenCV的详细步骤。请根据实际情况进行操作,并参考OpenCV官方文档或其他可靠资源获取更多信息。
二、在项目中引入opencv
1、cmake项目
- 在
CMakeLists.txt
中引入
cmake_minimum_required(VERSION 3.16)
project(MyOpenCVProject)
# 设置C++标准
set(CMAKE_CXX_STANDARD 14)
# 找到OpenCV包
find_package(OpenCV REQUIRED)
# find_package(OpenCV 4.8.0 REQUIRED PATHS ~/apps/opencv) 可以指定路径,opencv安装路径
# 包含OpenCV头文件
include_directories(${OpenCV_INCLUDE_DIRS})
# 添加一个可执行文件
add_executable(MyOpenCVProject main.cpp)
# 链接OpenCV库
target_link_libraries(MyOpenCVProject ${OpenCV_LIBS})
2、qt
- 在
.pro
中引入
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = MyQtOpenCVApp
TEMPLATE = app
# opencv 头文件路径
INCLUDEPATH += /usr/local/opencv3.4/include \
/usr/local/opencv3.4/include/opencv \
/usr/local/opencv3.4/include/opencv2
#opencv的动态链接库文件
LIBS += /usr/local/opencv3.4/lib/libopencv_*