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直接编译你的程序。