下载安装 OpenCV4.5.5

在已有 opencv3.4.15 和 opencv4.2(ROS自带) 情况下安装 opencv4.5.5

1.下载 opencv4.5.5 及 opencv_contrib4.5.5,并将opencv_contrib4.5.5 放在 opencv4.5.5 下

在这里插入图片描述

cd /opt
git clone https://github.com/opencv/opencv.git -b 4.5.5 opencv4.5.5
git clone https://github.com/opencv/opencv_contrib.git -b 4.5.5 opencv_contrib

2.编译

cd opencv-4.5.5
rm -rf build
mkdir build
cd build
sudo cmake -D CMAKE_BUILD_TYPE=Release \
  -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-4.5.5 \
  -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
  -D BUILD_EXAMPLES=ON \
  -D BUILD_opencv_python3=ON \
  -D BUILD_TESTS=OFF \
  -D BUILD_PERF_TESTS=OFF \
  -D WITH_TBB=ON \
  -D WITH_OPENGL=ON \
  -D WITH_V4L=ON \
  -D WITH_QT=OFF \
  ..
# 编译安装
make -j"$(nproc)"
sudo make install
sudo ldconfig

4.OpenCV 4.5.5安装路径为

/usr/local/opencv-4.5.5/

5.CMakeLists.txt中配置OpenCV 4.5.5

# 强制使用你安装的 OpenCV 路径
set(OpenCV_DIR "/usr/local/opencv-4.5.5/lib/cmake/opencv4")

# 查找 OpenCV
find_package(OpenCV REQUIRED)

# 打印确认 OpenCV 路径和库
message(STATUS "OpenCV include path: ${OpenCV_INCLUDE_DIRS}")
message(STATUS "OpenCV libraries: ${OpenCV_LIBS}")

# 包含头文件
include_directories(${OpenCV_INCLUDE_DIRS})

# 链接 OpenCV 库
target_link_libraries(xfeat_slam ${OpenCV_LIBS})

6.配置 pkg-config 支持

由于编译过程没有自动生成 .pc 文件,需手动创建:

创建并编辑 .pc 文件

sudo mkdir -p /usr/local/opencv-4.5.5/lib/pkgconfig
sudo nano /usr/local/opencv-4.5.5/lib/pkgconfig/opencv4.pc

粘贴以下内容:

prefix=/usr/local/opencv-4.5.5
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${prefix}/lib

Name: OpenCV
Description: Open Source Computer Vision Library
Version: 4.5.5
Libs: -L${libdir} -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs -lopencv_videoio -lopencv_features2d -lopencv_calib3d -lopencv_dnn -lopencv_ml -lopencv_video -lopencv_objdetect -lopencv_stitching -lopencv_gapi
Cflags: -I${includedir}

设置环境变量(推荐写入 .bashrc)

echo 'export PKG_CONFIG_PATH=/usr/local/opencv-4.5.5/lib/pkgconfig:$PKG_CONFIG_PATH' >> ~/.bashrc
source ~/.bashrc

7.测试安装是否成功

使用 pkg-config 验证版本

pkg-config --modversion opencv4
# 应输出:4.5.5

存在的问题

ippicv_2020_lnx_intel64_20191018_general.tgz下载不了

1.下载ippicv_2020_lnx_intel64_20191018_general.tgz

https://github.com/opencv/opencv_3rdparty/blob/ippicv/master_20191018/ippicv/ippicv_2020_lnx_intel64_20191018_general.tgz

2.放置位置

/opt/ippicv_2020_lnx_intel64_general_20191018_general.tgz

3.修改ippicv.cmake

 set(THE_ROOT "${OpenCV_BINARY_DIR}/3rdparty/ippicv")
  ocv_download(FILENAME ${OPENCV_ICV_NAME}
               HASH ${OPENCV_ICV_HASH}
               URL
                 "${OPENCV_IPPICV_URL}"
                 "$ENV{OPENCV_IPPICV_URL}"
                 "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
               DESTINATION_DIR "${THE_ROOT}"
               ID IPPICV
               STATUS res
               UNPACK RELATIVE_URL)

改为

  ocv_download(FILENAME ${OPENCV_ICV_NAME}
               HASH ${OPENCV_ICV_HASH}
               URL
                 "${OPENCV_IPPICV_URL}"
                 "$ENV{OPENCV_IPPICV_URL}"
                 "file:///opt/opencv4.5.5/3rdparty/"
                #  "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"  # ori
                #  "ippicv_2020_lnx_intel64_20191018_general.tgz:///opt/opencv4.5.5/3rdparty/ippicv_2020_lnx_intel64_20191018_general"
               DESTINATION_DIR "${THE_ROOT}"
               ID IPPICV
               STATUS res
               UNPACK RELATIVE_URL)

参考

Ubuntu20.04离线部署Opencv4.5.5

ubuntu20.0.4安装opencv4.2.0和opencv_contrib-4.2.0并支持CUDA,Geforce RTX 3060显卡,算力8.6



更多推荐