opencv3.x.x or opencv4.x.x: 源码安装&卸载

本文详细介绍了如何源码安装OpenCV 3.4.0,包括下载、安装依赖、编译过程,并提供了编译时的参数配置。同时,给出了卸载OpenCV 3.4.0的具体步骤,指导用户找到并清理build目录。

一、源码安装

1.下载opencv3.4.0:   这里举例版本号3.4.0

wget https://github.com/opencv/opencv/archive/3.4.0.zip
unzip 3.4.0.zip
或
wget https://github.com/opencv/opencv/archive/3.4.0.tar.gz
tar -xvf 3.4.0.tar.gz

编译OpenCV 官方参考:https://docs.opencv.org/3.4.0/d6/d15/tutorial_building_tegra_cuda.html
这个文档搭建的环境,软件版本偏老。主要参考其流程。

2.安装依赖包:

$ sudo apt-get install \
    libglew-dev \
    libtiff5-dev \
    zlib1g-dev \
    libjpeg-dev \
    libpng12-dev \
    libjasper-dev \
    libavcodec-dev \
    libavformat-dev \
    libavutil-dev \
    libpostproc-dev \
    libswscale-dev \
    libeigen3-dev \
    libtbb-dev
<think>我们将在Ubuntu 22.04虚拟机中安装OpenCV 4.5.x。请注意,OpenCV 4.5.x是一个较新的版本,而Ubuntu 22.04自带的软件仓库可能没有直接提供该版本。因此,我们将从源代码编译安装安装步骤: 1. 更新系统并安装依赖项 2. 下载OpenCV 4.5.x源码 3. 配置和构建 4. 安装 5. 配置环境 6. 验证安装 下面是详细步骤: ### 1. 更新系统并安装依赖项 首先,更新系统并安装必要的编译工具和依赖库: ```bash sudo apt update sudo apt upgrade -y sudo apt install -y build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev ``` ### 2. 下载OpenCV 4.5.x源码 我们可以从OpenCV的GitHub仓库下载指定版本的源码。这里以4.5.5为例: ```bash cd ~ git clone https://github.com/opencv/opencv.git -b 4.5.5 git clone https://github.com/opencv/opencv_contrib.git -b 4.5.5 ``` 注意:如果需要额外的模块(如opencv_contrib),请同时下载opencv_contrib仓库。 ### 3. 配置和构建 进入opencv目录,创建一个构建目录,并使用cmake进行配置: ```bash cd opencv mkdir build cd build ``` 然后运行cmake命令。这里我们将opencv_contrib模块包含在内(如果你不需要,可以去掉相关选项): ```bash cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ -D BUILD_EXAMPLES=ON .. ``` 注意:`OPENCV_EXTRA_MODULES_PATH`指向的是opencv_contrib的modules目录。 配置完成后,开始编译。使用`-j`参数指定并行编译的线程数,以加快编译速度(例如,使用8个线程): ```bash make -j8 ``` ### 4. 安装 编译完成后,执行安装命令: ```bash sudo make install sudo ldconfig ``` ### 5. 配置环境 为了让系统能够找到OpenCV的库,我们需要更新动态链接库的缓存: ```bash sudo ldconfig ``` 另外,为了在编译其他程序时能够使用OpenCV,我们可以设置环境变量。将以下内容添加到`~/.bashrc`文件中: ```bash export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH ``` 然后执行: ```bash source ~/.bashrc ``` ### 6. 验证安装 #### C++ 验证 我们可以编写一个简单的C++程序来测试。例如,创建一个`test.cpp`文件: ```cpp #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main() { Mat image = imread("test.jpg"); // 准备一张图片放在当前目录 if (image.empty()) { cout << "Could not open or find the image" << endl; return -1; } imshow("Display window", image); waitKey(0); return 0; } ``` 编译并运行: ```bash g++ test.cpp -o test `pkg-config --cflags --libs opencv4` ./test ``` #### Python 验证 在Python中,我们可以通过以下代码验证: ```python import cv2 print(cv2.__version__) ``` 如果输出为`4.5.5`(或你安装的具体版本),则安装成功。 ### 注意事项 - 编译过程可能较长,请耐心等待。 - 如果安装过程中出现依赖问题,请根据错误提示安装相应的依赖库。 - 如果之前安装过其他版本的OpenCV,为了避免冲突,建议先卸载旧版本(参考引用[1]中的卸载步骤)。 ### 卸载方法(如果需要) 如果安装失败或者需要安装其他版本,可以参考引用[1]中的卸载步骤: ```bash # 在OpenCV的构建目录中执行 sudo make uninstall cd .. sudo rm -r build sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv* # 注意:上面一步可能会有error,因为有些文件可能不存在,可以忽略 # 然后使用apt卸载相关包 sudo apt-get --purge remove opencv-doc opencv-data python-opencv ``` 但对于从源码安装OpenCV卸载可能不彻底,所以建议谨慎操作。 ### 相关问题 §§相关问题§§ 1. 在Ubuntu 22.04安装OpenCV 4.5.x时,如何解决常见的依赖问题? 2. 编译OpenCV 4.5.x时出现内存不足怎么办? 3. 如何为多个Python版本安装OpenCV4. 安装OpenCV后,如何配置Qt Creator进行开发? </think>以下是在 Ubuntu 22.04 虚拟机中安装 OpenCV 4.5.x 的完整教程: ### 系统准备 1. **更新系统**: ```bash sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential cmake git pkg-config ``` 2. **安装依赖库**: ```bash sudo apt install -y libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \ libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev ``` ### 安装 OpenCV 4.5.x 3. **下载源码**: ```bash cd ~ git clone https://github.com/opencv/opencv.git -b 4.5.5 # 指定版本 git clone https://github.com/opencv/opencv_contrib.git -b 4.5.5 ``` 4. **配置 CMake**: ```bash cd opencv mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D WITH_GTK=ON \ -D WITH_FFMPEG=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D BUILD_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D PYTHON3_EXECUTABLE=$(which python3) \ -D BUILD_opencv_python3=ON .. ``` > 关键配置说明: > - `OPENCV_EXTRA_MODULES_PATH`:包含额外模块 > - `OPENCV_GENERATE_PKGCONFIG`:启用 pkg-config 支持[^1] > - `PYTHON3_EXECUTABLE`:确保链接到正确的 Python 5. **编译安装**: ```bash make -j$(nproc) # 使用所有CPU核心加速编译 sudo make install sudo ldconfig # 更新系统库链接 ``` ### 环境验证 6. **C++ 验证**: ```bash pkg-config --modversion opencv4 # 应输出 4.5.x ``` 7. **Python 验证**: ```python import cv2 print(cv2.__version__) # 应输出 4.5.x ``` > 如果提示模块缺失,尝试: ```bash sudo ln -s /usr/local/lib/python3.10/dist-packages/cv2 /usr/lib/python3/dist-packages/cv2 ``` ### 卸载旧版本(如需) ```bash # 在源码build目录执行 sudo make uninstall cd .. sudo rm -rf build # 清理残留文件 sudo rm -rf /usr/local/include/opencv4 /usr/local/lib/libopencv* sudo apt --purge remove python3-opencv ``` ### 虚拟机优化建议 1. **分配资源**: - 至少 4GB RAM - 20GB 磁盘空间 - 启用 CPU 虚拟化(VT-x/AMD-V) 2. **编译加速**: ```bash # 在CMake命令中添加 -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值