先看一下目录,知道大致的流程!
文章目录
安装OpenCV
安装依赖
shell
sudo apt update && sudo apt upgrade
sudo apt install cmake ninja-build build-essential libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
# 下载安装工具
sudo apt install wget unzip git -y
下载源码
shell
# 找个位置
mkdir ~/installer && cd ~/installer
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
unzip opencv.zip #解压
# 可以一起下载contrib
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.x.zip
unzip opencv_contrib.zip
配置与构建
shell
# 创建build文件夹
mkdir build && cd build
# 配置
cmake ../opencv-4.x \
-G Ninja \ # 可以选择ninja构建
-D CMAKE_INSTALL_PREFIX=~/CLionProjects/detect/opencv \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.x/modules\
# 指定安装到项目当中,可以修改为你的项目路径
# 构建
make -j${nproc} #j开启多线程指定可用核心数
#ninja -j16 # 也可以使用ninja更快
安装
刚刚配置的时候指定了安装目录,如果想修改安装目录,删除build。重新上一步。
卸载方法就是直接删除安装目录的文件。
shell
ninja install
测试
编写CMakeListx.txt
我使用的CLion. 在项目根目录下新建CMakeLists.txt
编写。
cmake
cmake_minimum_required(VERSION 3.22)
project(detect)
set(CMAKE_CXX_STANDARD 17)
# 设置opencv路径,填写配置文件的路径
set(OpenCV_DIR ${PROJECT_SOURCE_DIR}/opencv/lib/cmake/opencv4)
# 然后利用find就可以搜到项目中的opencv
find_package(OpenCV REQUIED)
# find配置文件后可以使用opencv的各种变量
# 包含头文件
include_directories(${OpenCV_INCLUDE_DIRS})
#### >>>>>>>>>
# 添加源代码和头文件
file(GLOB SOURCES "src/*cpp" "inlcude/*cpp")
# 定义可执行文件
add_executable(detect ${SOURCES})
#### <<<<<<<<<<
# 链接Opencv 库
target_link_libraries(detect ${OpenCV_LIBS})
编写测试代码
先点击右上角build,然后run
c++
#include <iostream>
#include <opencv2/opencv.hpp>
int main(int argc, char* argv[]) {
printf("Hello world\n");
std::cout << "OpenCV version: " << CV_VERSION << std::endl;
return 0;
}