📜  opencv编译c++(1)

📅  最后修改于: 2023-12-03 15:33:18.058000             🧑  作者: Mango

OpenCV编译C++介绍

OpenCV是一个跨平台的计算机视觉库,被广泛应用于目标识别、人脸分析、动作识别、运动跟踪、机器人视觉等领域。在使用OpenCV进行开发时,我们需要对其源代码进行编译,以便能够在我们的开发环境中使用OpenCV的各种功能。

安装编译环境

在编译OpenCV之前,我们首先需要安装编译环境。以下是常用的编译环境:

  • CMake
sudo apt-get install cmake
  • gcc
sudo apt-get install gcc
  • make
sudo apt-get install make
  • pkg-config
sudo apt-get install pkg-config
  • libgtk2.0-dev
sudo apt-get install libgtk2.0-dev
  • libavcodec-dev
sudo apt-get install libavcodec-dev
  • libavformat-dev
sudo apt-get install libavformat-dev
  • libswscale-dev
sudo apt-get install libswscale-dev
  • libjpeg-dev
sudo apt-get install libjpeg-dev
  • libpng-dev
sudo apt-get install libpng-dev
  • libtiff-dev
sudo apt-get install libtiff-dev
  • libeigen3-dev
sudo apt-get install libeigen3-dev
下载OpenCV源代码

从OpenCV的官方网站下载源代码,并解压到本地目录。

mkdir ~/opencv
cd ~/opencv
wget https://github.com/opencv/opencv/archive/4.5.1.zip
unzip 4.5.1.zip
编译OpenCV

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++程序

假设我们已经写好了一个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的官方文档或在社区里进行提问。