OpenCV是一款开源的跨平台计算机视觉库,支持Windows、Linux、macOS等多个操作系统,所以在Linux系统上完全可以使用OpenCV进行相关开发。主流的Linux发行版如Ubuntu、CentOS、Debian等都提供了适配的OpenCV安装方式,开发者可以根据自身需求选择快速安装或者源码编译安装。

Linux下安装OpenCV的两种方式
方式一:通过系统包管理器安装
这种方式适合需要快速搭建环境的场景,安装步骤简单,但是版本可能不是最新的。以Ubuntu系统为例,执行以下命令即可完成安装:
# 更新软件源 sudo apt update # 安装OpenCV基础库和Python绑定 sudo apt install libopencv-dev python3-opencv
如果是CentOS系统,可以使用yum包管理器执行安装:
# 安装OpenCV相关包 sudo yum install opencv opencv-devel opencv-python
方式二:从源码编译安装
这种方式可以自定义安装模块,获取最新版本的OpenCV,适合有特定功能需求的开发者。首先需要安装编译依赖:
# Ubuntu系统安装编译依赖 sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
然后下载OpenCV源码并编译安装:
# 克隆OpenCV源码仓库 git clone https://github.com/opencv/opencv.git cd opencv # 创建编译目录 mkdir build cd build # 使用cmake配置编译参数 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. # 编译,-j参数指定并行编译的线程数,可根据CPU核心数调整 make -j4 # 安装到系统 sudo make install # 更新动态链接库 sudo ldconfig
验证OpenCV是否安装成功
安装完成后,可以通过简单的代码验证环境是否正常。如果是Python环境,执行以下代码:
import cv2
# 打印OpenCV版本
print(cv2.__version__)
# 读取一张图片,测试图像读取功能
img = cv2.imread("test.jpg")
if img is not None:
print("图像读取成功,尺寸为:", img.shape)
else:
print("图像读取失败,请检查文件路径")
如果是C++环境,可以编写以下测试代码:
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
// 打印OpenCV版本
std::cout << "OpenCV版本:" << CV_VERSION << std::endl;
// 读取图片
cv::Mat img = cv::imread("test.jpg");
if (img.empty()) {
std::cout << "图片读取失败" << std::endl;
return -1;
}
std::cout << "图片尺寸:" << img.rows << "x" << img.cols << std::endl;
return 0;
}
编译C++测试代码时需要链接OpenCV库,编译命令如下:
g++ test.cpp -o test `pkg-config --cflags --libs opencv4`
常见问题说明
- 如果编译时提示找不到
opencv2/opencv.hpp头文件,需要检查OpenCV是否正确安装,以及编译时的头文件路径是否配置正确。 - 运行Python代码时提示找不到cv2模块,需要确认python3-opencv包是否安装成功,或者是否使用了正确的Python环境。
- 部分Linux发行版默认安装的OpenCV版本较旧,如果需要使用新特性,建议选择源码编译安装的方式。