1.OpenCV环境配置
在Ubuntu中将OpenCV4.5编译并且安装好以后,还需要为其配置环境,类似于在Windows下配置环境变量,使得编译器能够找到对应的封装库函数等等。
1.1 pkg-config环境
第三方库的使用主要涉及头文件的路径设置,库的路径设置以及动态库的环境变量设置。第三方库都会提供一个*.pc 文件,pkg-config程序通过读取这个*.pc的文件,获取了库的头文件位置和库的路径等信息。为了使得编译器能够找到Opencv4.5中的opencv4.pc(该文件默认在usr/local/lib/pkgconfig下),需要将其所在的目录路径放入pkgconfig.sh文件中:
sudo vim /etc/profile.d/pkgconfig.sh
#文件最后加入
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
修改后保存退出,重新激活设置:
source /etc/profile
#测试是否成功的命令:
pkg-config --libs opencv4
1.2动态库环境配置
sudo vim /etc/ld.so.conf.d/opencv4.conf
#在配置文件最后加上opencv库的路径,默认为/usr/local/lib
#重新启用配置
sudo ldconfig
2.代码编译方法
2.1 g++编译
g++编译命令:
#其中“main.cpp”是要编译的c++代码,“-o opencv” 表示编译输出的文件名为“opencv”,这些可以按照自己的需求进行修改
g++ `pkg-config opencv4 --cflags` main.cpp -o opencv `pkg-config opencv4 --libs`
2.2 Cmake编译
- 创建CMakeLists.txt,输入:
# cmake needs this line
cmake_minimum_required(VERSION 3.1)
# Define project name
project(ProjectName)
# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)
# Enable C++11
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
# Declare the executable target built from your sources
add_executable(ProjectName main.cpp)
# Link your application with OpenCV libraries
target_link_libraries(ProjectName PRIVATE ${OpenCV_LIBS})
其中,部分内容需要自适应的修改,“ProjectName”换成你的工程文件夹名称,“main.cpp”为要编译的cpp文件。
- 依次运行:
cmake .
make
./ProjectName