📅  最后修改于: 2023-12-03 15:33:18.058000             🧑  作者: Mango
OpenCV是一个跨平台的计算机视觉库,被广泛应用于目标识别、人脸分析、动作识别、运动跟踪、机器人视觉等领域。在使用OpenCV进行开发时,我们需要对其源代码进行编译,以便能够在我们的开发环境中使用OpenCV的各种功能。
在编译OpenCV之前,我们首先需要安装编译环境。以下是常用的编译环境:
sudo apt-get install cmake
sudo apt-get install gcc
sudo apt-get install make
sudo apt-get install pkg-config
sudo apt-get install libgtk2.0-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libavformat-dev
sudo apt-get install libswscale-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libpng-dev
sudo apt-get install libtiff-dev
sudo apt-get install libeigen3-dev
从OpenCV的官方网站下载源代码,并解压到本地目录。
mkdir ~/opencv
cd ~/opencv
wget https://github.com/opencv/opencv/archive/4.5.1.zip
unzip 4.5.1.zip
OpenCV采用CMake进行编译,以下是编译过程。
cd ~/opencv/opencv-4.5.1
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4
sudo make install
假设我们已经写好了一个C++程序(名称为test.cpp
),并且需要调用OpenCV库。
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
Mat image = imread("test.jpg", IMREAD_COLOR);
if (image.empty()) {
printf("Could not read the image: %s\n", argv[1]);
return 1;
}
imshow("Display window", image);
waitKey(0);
return 0;
}
在编译时,需要加入OpenCV的头文件路径和库文件路径,同时链接OpenCV的库文件。以下是编译命令。
g++ -std=c++11 test.cpp -o test `pkg-config --cflags --libs opencv4`
--cflags
: 显示编译选项--libs
: 显示链接选项以上是OpenCV编译C++的介绍。在编译时要注意编译环境的安装和OpenCV的库文件的链接。如果有其他问题,可以参考OpenCV的官方文档或在社区里进行提问。