成都企业网站制作,企业网站的设计公司,创业网站推广怎么做,上海网页制作方法因项目需要使用不同版本的OpenCV#xff0c;而本地的Ubuntu22.04系统装了ROS2自带OpenCV 4.5.4的版本#xff0c;于是编译一个OpenCV 4.10.0#xff08;带opencv_contrib#xff09;版本#xff0c;给特定的项目使用#xff0c;这就不用换个设备后重新安装OpenCV 了… 因项目需要使用不同版本的OpenCV而本地的Ubuntu22.04系统装了ROS2自带OpenCV 4.5.4的版本于是编译一个OpenCV 4.10.0带opencv_contrib版本给特定的项目使用这就不用换个设备后重新安装OpenCV 了直接依赖编译好的包使用。 PS如需要直接在系统中安装OpenCV可参考https://blog.csdn.net/qq_45445740/article/details/142770493?spm1001.2014.3001.5501 目录 1.源码下载2.环境准备3.源码编译3.1 创建编译目录3.2 配置CMake选项3.2.1 OpenCV的CMake选项说明3.2.2 解决编译过程中出现下载文件如IPPICV超时失败的问题 3.3 编译3.4 安装编译后的产物3.5 打包编译后的库 1.源码下载 opencvhttps://github.com/opencv/opencv 选择4.10.0 的源码包进行下载 opencv_contribhttps://github.com/opencv/opencv_contrib 同样选择4.10.0 的源码包进行下载 下载好后选择通过图形界面或者unzip命令进行解压如下图所示 2.环境准备
安装依赖
在开始之前需要安装OpenCV编译过程中所需的依赖包。可以通过以下命令安装
sudo apt update
sudo apt install build-essential cmake git pkg-config libjpeg-dev libtiff-dev libpng-dev libjasper-dev libdcmtk-dev
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
sudo apt install libgtk-3-dev libcanberra-gtk3-dev libatlas-base-dev gfortran
sudo apt install python3-dev python3-numpy3.源码编译
3.1 创建编译目录
在源码目录下创建一个新的构建目录用于编译
cd opencv/opencv-4.10.0
mkdir build
cd build3.2 配置CMake选项
使用CMake配置OpenCV的构建选项。需要指定OpenCV contrib模块的路径并启用需要的功能如Python绑定等。 PSCMAKE_INSTALL_PREFIX和OPENCV_EXTRA_MODULES_PATH需要指定编译后存放的路径和 contrib模块的路径。
cmake -D CMAKE_BUILD_TYPERelease \-D CMAKE_INSTALL_PREFIX/home/xxx/Documents/opencv/opencv-4.10.0/install \-D OPENCV_EXTRA_MODULES_PATH/home/xxx/Documents/opencv/opencv_contrib-4.10.0/modules \-D BUILD_SHARED_LIBSON \-D CMAKE_CXX_STANDARD11 \-D WITH_WEBPOFF \-D WITH_JPEGON \-D WITH_TIFFOFF \-D BUILD_EXAMPLESON \-D BUILD_PERF_TESTSOFF \-D BUILD_TESTSOFF \-D BUILD_opencv_appsOFF \-D WITH_CUDAOFF \-D BUILD_JAVAOFF \-D WITH_FFMPEGOFF \-D WITH_VTKOFF \-D OPENCV_ENABLE_NONFREEON ..# CMAKE_BUILD_TYPERelease编译类型为Release。
# CMAKE_INSTALL_PREFIX/opencv/opencv-4.10.0/install指定安装目录。
# OPENCV_EXTRA_MODULES_PATH~/opencv/opencv_contrib-4.10.0/modules指定OpenCV Contrib模块路径。
# 其他选项根据需求启用或禁用特定功能。3.2.1 OpenCV的CMake选项说明
OpenCV的官方文档中列出了常见的CMake选项以下是一些常见的构建选项
基本选项
CMAKE_BUILD_TYPERelease选择编译类型通常选择 Release但也可以选择 Debug 进行调试编译。
CMAKE_INSTALL_PREFIX指定安装路径。
WITH_CUDAON/OFF启用/禁用CUDA支持如果你的机器有NVIDIA显卡并且你希望加速计算。
WITH_OPENCLON/OFF启用/禁用OpenCL支持。
BUILD_EXAMPLESON/OFF是否编译OpenCV示例。
BUILD_opencv_python3ON/OFF是否构建Python 3绑定如果需要在Python中使用OpenCV。
BUILD_TESTSON/OFF是否编译单元测试。Contrib模块
OPENCV_EXTRA_MODULES_PATHpath/to/opencv_contrib/modules指定Contrib模块的路径。
OPENCV_ENABLE_NONFREEON/OFF启用/禁用一些额外的非免费模块如SIFT和SURF。其他常见选项
WITH_FFMPEGON/OFF是否启用FFmpeg用于处理视频文件。
WITH_GTKON/OFF是否启用GTK图形界面如果你需要GUI应用。
WITH_TBBON/OFF启用Intel TBB线程并行。
WITH_JPEGON/OFF启用JPEG支持。
WITH_PNGON/OFF启用PNG支持。可以通过查看 CMakeLists.txt 或 OpenCV的官方GitHub仓库中的文档来获取完整的CMake选项列表。
3.2.2 解决编译过程中出现下载文件如IPPICV超时失败的问题 解决方法将需要下载的文件提前下好后放在指定的目录下并改名。 如下图所示boostdesc_binboost_256.i下载一直卡在这里通过编译过程中的链接提前将boostdesc_binboost_256.i文件下载好了放在opencv/opencv-4.10.0/.cache/xfeatures2d/boostdesc目录下并修改为当前带commit命名的文件删除原先的文件重新再执行cmake指令。 很不幸我替换了下面这么多。。。 参考https://www.cnblogs.com/ZhaoqunZhong/p/16579015.html 3.3 编译
make -j$(nproc)
# -j$(nproc) 会让编译使用所有可用的CPU核心以加快编译速度3.4 安装编译后的产物
编译完成后使用以下命令将编译结果安装到指定目录
make install安装完成后OpenCV将被安装到 opencv/opencv-4.10.0/install 目录下。
3.5 打包编译后的库
将install目录打包生成压缩包libopencv-4.10.0-Linux-x86_64.zip lib 这样可以将这个压缩包拷贝到其他设备上以便在其他地方使用。