Linux上安装配置opencv(亲测可用)
### Linux上安装与配置OpenCV #### 一、前言 OpenCV (Open Source Computer Vision Library) 是一个开源的计算机视觉库,它包含了各种图像处理和计算机视觉算法。在Linux环境下安装配置OpenCV可以帮助开发者更好地利用其强大的功能来实现图像处理、机器视觉等应用。 #### 二、安装OpenCV ##### 1. 安装必要的依赖库 在安装OpenCV之前,首先需要安装一些基础的依赖库。这些库通常包括用于构建和编译的工具以及用于图像处理的库。下面是一些常见的依赖库: ```bash sudo apt-get update sudo apt-get install cmake build-essential libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev gcc g++ libjasper-dev libjpeg-dev libtiff5-dev libpng-dev python-dev python-numpy ``` 这里解释一下每个依赖的作用: - `cmake`:用于构建OpenCV项目。 - `build-essential`:包含了一些基本的构建工具。 - `libgtk2.0-dev`:GTK+ GUI 库。 - `pkg-config`:帮助定位库文件位置。 - `libavcodec-dev`, `libavformat-dev`, `libswscale-dev`:这些是FFmpeg的一部分,用于多媒体文件处理。 - `gcc`, `g++`:C 和 C++ 编译器。 - `libjasper-dev`:JPEG-2000 支持。 - `libjpeg-dev`:JPEG 文件支持。 - `libtiff5-dev`:TIFF 文件支持。 - `libpng-dev`:PNG 文件支持。 - `python-dev`, `python-numpy`:Python 绑定支持。 ##### 2. 下载并编译OpenCV 1. **下载OpenCV源码**:从官方网站下载最新版本的OpenCV源码包。 ```bash wget -O opencv.zip https://github.com/opencv/opencv/archive/refs/tags/3.4.10.zip unzip opencv.zip cd opencv-3.4.10 ``` 2. **创建构建目录**:在OpenCV源码目录外创建一个新的目录用于构建。 ```bash mkdir build cd build ``` 3. **配置编译选项**:使用CMake配置编译选项。 ```bash cmake .. # 或者,如果需要更详细的配置: cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. ``` 4. **编译OpenCV**:使用`make`命令编译。 ```bash make -j4 # 使用4个线程编译 ``` 5. **安装OpenCV**:将编译好的文件安装到系统中。 ```bash sudo make install sudo ldconfig # 更新库缓存 ``` #### 三、配置环境 为了确保OpenCV能够在系统中正常工作,还需要做一些额外的配置工作。 ##### 1. 添加库路径 为了让系统能够找到OpenCV的库文件,需要更新`/etc/ld.so.conf.d/opencv.conf`文件。 ```bash sudo gedit /etc/ld.so.conf.d/opencv.conf ``` 在文件末尾添加`/usr/local/lib`,然后保存并退出。 接下来更新库缓存,使其立即生效。 ```bash sudo ldconfig ``` ##### 2. 配置PKG_CONFIG_PATH 为了让其他程序能够找到OpenCV的配置文件,需要设置`PKG_CONFIG_PATH`。 ```bash sudo gedit /etc/bash.bashrc ``` 在文件末尾添加以下内容: ```bash export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig ``` 保存并退出,然后使配置立即生效。 ```bash sudo source /etc/bash.bashrc ``` #### 四、测试安装 完成以上步骤后,可以通过编写一个简单的OpenCV程序来测试安装是否成功。例如,可以尝试读取一张图片并显示出来。 ```cpp #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main() { Mat img = imread("path/to/your/image.jpg"); if (img.empty()) { cout << "Could not open or find the image" << endl; return -1; } imshow("Display window", img); waitKey(0); // Wait for a keystroke in the window return 0; } ``` 编译并运行这个程序,如果一切正常,应该能看到图像显示窗口。 #### 五、总结 通过本文介绍的方法,我们可以在Linux环境下成功安装和配置OpenCV,并且通过一个简单的例子验证了安装的成功。OpenCV的强大功能可以为开发者提供极大的便利,特别是在图像处理和计算机视觉领域。希望本指南能对您的开发工作有所帮助。