opencv源码编译

编译环境:
ubuntu 24.04 LTS

gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0

g++ (Ubuntu 13.2.0-23ubuntu4) 13.2.0

cmake version 3.28.3

 

在Ubuntu下编译OpenCV源码是一个相对直接的过程,但需要注意一些依赖项和配置选项。以下是一个基本的步骤指南,用于从源代码编译OpenCV。

1. 安装必要的依赖项

首先,你需要安装编译OpenCV所需的依赖项。打开一个终端窗口,并输入以下命令来安装这些依赖项:

sudo apt-get update  
sudo apt-get install build-essential cmake pkg-config  
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev  
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev  
sudo apt-get install libxvidcore-dev libx264-dev  
sudo apt-get install libgtk2.0-dev libgtk-3-dev  
sudo apt-get install libatlas-base-dev gfortran  
sudo apt-get install python3-dev python3-numpy  
sudo apt-get install libtbb2 libtbb-dev libdc1394-22-dev  
sudo apt-get install libopencv-dev

注意:libopencv-dev 通常不是必需的,因为我们将从源代码编译OpenCV,但这个包包含了一些编译时可能需要的头文件和库文件。

 

2. 下载OpenCV源码

你可以从OpenCV的官方网站(https://opencv.org/releases/)下载最新版本的源代码,或者使用git克隆仓库:

git clone https://github.com/opencv/opencv.git  
cd opencv  
git checkout [特定版本标签,例如4.5.3]  
  
# 如果你还想编译opencv_contrib模块(包含额外的算法),请继续:  
cd ..  
git clone https://github.com/opencv/opencv_contrib.git  
cd opencv_contrib  
git checkout [与opencv相同的版本标签]

3. 创建构建目录并配置CMake

cd opencv  
mkdir build  
cd build  
  
# 配置CMake(如果需要opencv_contrib模块,请添加-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules)  
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  
# 或者,如果你下载了opencv_contrib  
# cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..  
  
# 查看配置选项(可选)  
cmake-gui .

4. 编译和安装

make -j$(nproc)  # 使用所有可用的CPU核心来加速编译  
sudo make install  
sudo ldconfig    # 更新系统的共享库缓存

5. 验证安装

安装完成后,你可以通过编译并运行一个简单的OpenCV程序来验证安装是否成功。例如,创建一个名为test.cpp的文件,并输入以下代码:

#include <opencv2/opencv.hpp>  
#include <iostream>  
  
int main() {  
    cv::Mat image = cv::imread("path_to_your_image.jpg");  
    if (image.empty()) {  
        std::cerr << "Could not read the image" << std::endl;  
        return 1;  
    }  
    cv::imshow("Display window", image);  
    int k = cv::waitKey(0);  
    return 0;  
}

然后,编译并运行它:

g++ test.cpp -o test_opencv `pkg-config --cflags --libs opencv4`  
./test_opencv

 

确保将 "path_to_your_image.jpg" 替换为有效的图像文件路径。如果一切设置正确,你将看到一个显示该图像的窗口。

注意

  • 如果你使用的是Python或其他编程语言,请确保你的环境配置正确,以便能够找到并加载OpenCV库。
  • 上述步骤中的pkg-config --cflags --libs opencv4可能需要根据你的OpenCV安装路径和版本进行调整。例如,如果你使用的是OpenCV 3.x,可能需要将opencv4替换为opencv。如果系统无法找到pkg-config命令,你可能需要安装它或使用CMake生成的Makefile直接编译你的程序。

 

posted @ 2024-08-02 10:01  He_LiangLiang  阅读(21)  评论(0编辑  收藏  举报