如何在 Linux 上 5 步完成 OpenCV 安装?源码编译与扩展模块配置指南
【免费下载链接】opencvOpen Source Computer Vision Library项目地址: https://gitcode.com/GitHub_Trending/opencv31/opencv
如果你要在 Linux 上安装 OpenCV(Open Source Computer Vision Library,一个解决图像读写、检测、标定等任务的开源计算机视觉库),并按自己的环境配置好它,这篇文章就是给你准备的。适合第一次从零开始的新手,开始前你只需要一台使用 apt 包管理器、有 sudo 权限、能联网的 Linux 机器。
装完之后,OpenCV 能帮你做的事比想象的多,比如下面这种带置信度框线的目标检测结果,就是基于它跑出来的:
动手前先选路线
源码编译有两条岔路,先决定走哪条,后面命令不用改来改去:
| 路线 | 编译内容 | 什么时候选 |
|---|---|---|
| 核心模块(默认推荐) | 图像读写、滤波、特征点等常用算法 | 大多数人,装完直接用 |
| 核心 + 扩展模块 | 在核心之上多出人脸识别、文本检测等算法 | 明确需要 contrib 仓库里的算法 |
两条路线的前 4 步完全一样,区别只在配置构建时多传一个参数。默认走第一条,后面再升级也不迟。
一条链装完:5 步操作
1. 装上编译工具链
编译器、构建系统、代码获取工具一次装齐,后面的步骤全靠它们:
sudo apt update sudo apt install -y build-essential cmake git2. 获取 OpenCV 源码
克隆仓库到本地,拿到完整代码。如果你需要扩展模块,顺手把 opencv_contrib 仓库也用同样方式克隆到同一层目录:
git clone https://gitcode.com/gh_mirrors/opencv31/opencv3. 配置构建
进入源码目录,建一个独立的构建目录再运行 cmake。这里把安装位置直接指到用户主目录,避免占用系统目录:
cd opencv mkdir -p build && cd build cmake -DCMAKE_INSTALL_PREFIX=$HOME/.local ..💡 如果第 2 步克隆了扩展模块仓库,把上面的 cmake 命令换成:
cmake -DCMAKE_INSTALL_PREFIX=$HOME/.local -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..多出的OPENCV_EXTRA_MODULES_PATH参数就是告诉 OpenCV 去哪找扩展算法。
4. 并行编译
-j$(nproc)会自动用上全部 CPU 核心,编译速度取决于机器性能,耐心等待即可:
make -j$(nproc)5. 执行安装
因为第 3 步已经把安装目录指向了本地,这一步直接运行,不需要 sudo:
make install⚠️ 除非你非常清楚后果,否则别用sudo make install装进系统目录——它会和发行版自带的包互相打架。
装好之后怎么确认
回到构建目录,看一眼这两个位置就够了:
ls build/lib ls build/binbuild/lib里出现一堆编译出来的库文件,说明库本体 OKbuild/bin里出现可执行文件和测试程序,说明配套工具也 OK- 构建根目录还会生成 CMake 包配置文件,供其他项目引用
看到上面三样齐全,就算装好了。终端里直接跑 OpenCV 的 Python 脚本也能立刻看到输出效果:
排障速查
| 现象 | 原因 | 解决 |
|---|---|---|
| 编译中途报错失败 | 上次失败在构建目录留了脏文件 | 删掉 build 目录,重新配置并编译 |
| 提示找不到某个依赖 | 系统还缺开发包 | 用 apt 补装对应的开发包 |
| 卡住不动、疑似死机 | 个别模块编译时要下载额外数据 | 检查网络连接是否正常 |
| 装完和系统库冲突 | 误装进了系统目录 | 用 CMAKE_INSTALL_PREFIX 装到本地目录 |
下一步
到这里,OpenCV 的源码编译安装就跑通了:核心功能开箱即用,缺什么算法再回头加扩展模块。建议先去 samples/ 目录里挑一个示例程序跑一遍,确认你的目标功能真正可用,再开始写自己的代码。
【免费下载链接】opencvOpen Source Computer Vision Library项目地址: https://gitcode.com/GitHub_Trending/opencv31/opencv
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考