树莓派4B安装opencv错误大全

学习记录

树莓派4B安装opencv

设备

  1. 树莓派4B(4GB)
  2. 闪迪16GB Micro SD
  3. Linux raspberrypi 4.19.75-v7l+
  4. opencv-3.4.3
  5. opencv_contrib-3.4.3

fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录

完整内容

/home/pi/Folder/opencv-3.4.3/modules/stitching/include/opencv2/stitching/detail/matchers.hpp:52:12: fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录
 #  include "opencv2/xfeatures2d/cuda.hpp"
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

路径:/home/pi/Folder/opencv_contrib-3.4.3/modules/xfeatures2d/src

解决办法:

打开对应文件,把相对路径改成绝对路径

错误1
vim /home/pi/Folder/opencv-3.4.3/modules/stitching/include/opencv2/stitching/detail/matchers.hpp

替换后的绝对路径

#include "/home/pi/Folder/opencv_contrib-3.4.3/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp"
错误2
vim /home/pi/Folder/opencv-3.4.3/modules/stitching/src/precomp.hpp

替换内容同上

fatal error: boostdesc_bgm.i: 没有那个文件或目录

路径:/home/pi/Folder/opencv_contrib-3.4.3/modules/xfeatures2d/src/boostdesc.cpp:653:20:

解决办法:

下载对应文件,移动到/home/pi/Folder/opencv_contrib-3.4.3/modules/xfeatures2d/src目录下

备注

实际缺少多个文件
在这里插入图片描述

fatal error: opencv2/xfeatures2d.hpp: 没有那个文件或目录

完整报错

/home/pi/Folder/opencv-3.4.3/modules/stitching/src/matchers.cpp:52:10: fatal error: opencv2/xfeatures2d.hpp: 没有那个文件或目录
 #include "opencv2/xfeatures2d.hpp"
          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

打开对应文件

vim /home/pi/Folder/opencv-3.4.3/modules/stitching/src/matchers.cpp

把相对路径换为绝对路径

#include "/home/pi/Folder/opencv_contrib-3.4.3/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp"

fatal error: opencv2/xfeatures2d/nonfree.hpp: 没有那个文件或目录

完整报错

/home/pi/Folder/opencv_contrib-3.4.3/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp:43:10: fatal error: opencv2/xfeatures2d/nonfree.hpp: 没有那个文件或目录
 #include "opencv2/xfeatures2d/nonfree.hpp"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

解决办法

打开文件

vim /home/pi/Folder/opencv_contrib-3.4.3/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp

修改路径

#include "/home/pi/Folder/opencv_contrib-3.4.3/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp"

cp: 无法创建普通文件’/usr/local/lib/pkgconfig/opencv.pc’: 没有那个文件或目录

命令

cp /home/pi/Folder/opencv-3.4.3/build/lib/pkgconfig/opencv.pc /usr/local/lib/pkgconfig/opencv.pc

解决方案

自行创建了/usr/local/lib/pkgconfig/
也不知道是对是错

g++: error: pkg-config --cflags --libs opencv3: 没有那个文件或目录

命令

g++ -ggdb 'pkg-config --cflags --libs opencv3' opencv_version.cpp  -o /tmp/opencv_version && /tmp/opencv_version

解决办法:

把单引号改成倒引号

g++ -ggdb `pkg-config --cflags --libs opencv3` opencv_version.cpp  -o /tmp/opencv_version && /tmp/opencv_version

Package opencv3 was not found in the pkg-config search path.

完整描述

Package opencv3 was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv3.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv3' found
/usr/bin/ld: /tmp/ccYDmS9g.o: in function `main':
。。。

解决方法

pkg-config中opencv.pc复制后要改为opencv3.pc

mv /usr/local/lib/pkgconfig/opencv.pc  /usr/local/lib/pkgconfig/opencv3.pc

/usr/bin/ld: warning: libopencv_core.so.3.4, needed by /home/pi/Folder/opencv-3.4.3/build/lib/libopencv_stitching.so, not found (try using -rpath or -rpath-link)

命令

g++ -ggdb `pkg-config --cflags --libs opencv3` opencv_version.cpp  -o /tmp/opencv_version && /tmp/opencv_version

不知道哪个缺德的给的解决办法,千万不要试

apt-get autoremove libopencv-dev

卸载了一堆库,然后我就放弃了

软件包 libopencv-dev 未安装,所以不会被卸载
下列软件包将被【卸载】:
  alsa-base fonts-freefont-ttf freetype2-doc gdal-data gir1.2-gtk-2.0 gir1.2-harfbuzz-0.0
  gstreamer0.10-alsa ibverbs-providers liba52-0.7.4 libaa1 libaec0 libaom0 libaribb24-0
  libarmadillo9 libarpack2 libass9 libasyncns0 libatk1.0-dev libavc1394-0 libavresample-dev
  libavresample4 libbasicusageenvironment1 libbs2b0 libcaca0 libcaf-openmpi-3
  libcairo-script-interpreter2 libcddb2 libcdparanoia0 libcharls2 libcoarrays-openmpi-dev
  libcodec2-0.8.1 libdap25 libdapclient6v5 libdapserver7v5 libdca0 libde265-0 libdv4 libdvbpsi10
  libdvdnav4 libdvdread4 libebml4v5 libepsilon1 libevent-core-2.1-6 libevent-pthreads-2.1-6
  libexif-dev libexif-doc libfaad2 libfftw3-double3 libflac8 libflite1 libfreexl1 libfribidi-dev
  libfyba0 libgdal20 libgdcm2-dev libgdcm2.8 libgeos-3.7.1 libgeos-c1v5 libgeotiff2 libgl2ps1.4
  libgphoto2-dev libgraphite2-dev libgroupsock8 libgssdp-1.0-3 libgstreamer-plugins-bad1.0-0
  libgupnp-1.0-4 libgupnp-igd-1.0-4 libharfbuzz-dev libharfbuzz-gobject0 libhdf4-0-alt libhdf5-103
  libhdf5-openmpi-103 libhwloc-dev libhwloc-plugins libhwloc5 libibverbs-dev libibverbs1
  libice-dev libiec61883-0 libilmbase-dev libilmbase23 libixml10 libjack-jackd2-0 libkate1
  libkmlbase1 libkmlconvenience1 libkmldom1 libkmlengine1 libkmlregionator1 libkmlxsd1 liblept5
  liblilv-0-0 liblirc-client0 liblivemedia64 liblua5.2-0 liblzo2-2 libmad0 libmariadb3
  libmatroska6v5 libmicrodns0 libminizip1 libmjpegutils-2.1-0 libmms0 libmodplug1 libmpcdec6
  libmpeg2-4 libmpeg2encpp-2.1-0 libmplex2-2.1-0 libmysofa0 libnetcdf-c++4 libnetcdf13 libnice10
  libnl-3-dev libnl-route-3-dev libodbc1 libofa0 libogdi3.2 libopenal-data libopenal1
  libopencv-core-dev libopencv-core3.2 libopencv-flann-dev libopencv-flann3.2
  libopencv-imgcodecs-dev libopencv-imgcodecs3.2 libopencv-imgproc-dev libopencv-imgproc3.2
  libopencv-ml-dev libopencv-ml3.2 libopencv-photo-dev libopencv-photo3.2 libopencv-shape-dev
  libopencv-shape3.2 libopencv-ts-dev libopencv-video-dev libopencv-video3.2 libopenexr-dev
  libopenexr23 libopenmpi-dev libopenmpi3 libpixman-1-dev libplacebo7 libpmix2 libpng-tools
  libportmidi0 libpostproc55 libpq5 libproj13 libprotobuf-lite17 libproxy-tools
  libpthread-stubs0-dev libqhull7 libqt5x11extras5 libresid-builder0c2a librubberband2 libserd-0-0
  libshout3 libsidplay2 libsm-dev libsndio7.0 libsocket++1 libsord-0-0 libsoundtouch1 libspandsp2
  libspatialaudio0 libspatialite7 libspeexdsp1 libsratom-0-0 libsrtp2-1 libsuperlu5
  libswresample-dev libswresample3 libsz2 libtag1v5 libtag1v5-vanilla libtesseract4 libupnp13
  liburiparser1 libusageenvironment3 libva-drm2 libva-wayland2 libvidstab1.1 libvisual-0.4-0
  libvlc-bin libvlc5 libvlccore9 libvo-aacenc0 libvo-amrwbenc0 libvpx5 libvulkan1
  libwebrtc-audio-processing1 libwildmidi2 libx11-dev libx264-155 libx265-165 libxau-dev
  libxcb-render0-dev libxcb-shm0-dev libxcb-xv0 libxcb1-dev libxcomposite-dev libxcursor-dev
  libxdamage-dev libxdmcp-dev libxerces-c3.2 libxext-dev libxfce4util-bin libxfce4util-common
  libxfce4util7 libxfconf-0-2 libxfixes-dev libxi-dev libxinerama-dev libxrandr-dev libxrender-dev
  libzbar0 mariadb-common mysql-common ocl-icd-libopencl1 odbcinst odbcinst1debian2 opencv-data
  openmpi-bin openmpi-common pango1.0-tools pi-package-data proj-bin proj-data
  sound-theme-freedesktop timgm6mb-soundfont vlc-bin vlc-data vlc-l10n vlc-plugin-notify
  vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2 vlc-plugin-video-splitter
  vlc-plugin-visualization x11proto-composite-dev x11proto-core-dev x11proto-damage-dev
  x11proto-dev x11proto-fixes-dev x11proto-input-dev x11proto-randr-dev x11proto-xext-dev
  x11proto-xinerama-dev xfconf xorg-sgml-doctools xtrans-dev

很明星,我删库了。
删库跑路,江湖再会。

<think>好的,我需要帮助用户在树莓派4B上安装OpenCV 4.5。首先,根据用户提供的引用资料,引用[1]提到用了一种半小时安装的方法,而引用[2]则详细描述了使用CMake从源码安装的步骤。不过用户现在需要的是安装OpenCV 4.5的教程,可能需要综合这两个引用中的信息。 首先,我需要确认用户的操作系统版本。引用[2]使用的是Raspberry Pi OS Bullseye,所以可能需要先更新系统。然后,安装依赖项是关键步骤。用户可能需要安装开发工具和必要的库,如CMake、Python开发包、图像处理库等。 接下来,下载OpenCV 4.5的源代码。用户需要从官方仓库下载指定版本的源码,并解压。然后,创建构建目录,配置CMake参数。这里可能需要调整参数以适配树莓派的硬件,比如启用NEON优化,设置Python环境等。 编译过程可能会比较耗时,尤其是在树莓派上。建议用户使用多线程编译,比如make -j4,但需要注意内存是否足够。编译完成后,执行sudo make install来安装安装完成后,验证是否正确安装。用户可以通过Python导入cv2并检查版本来确认。另外,测试一个简单的OpenCV功能,比如读取图像,可以确保安装成功。 还需要注意可能的依赖项缺失问题,比如如果编译过程中出现错误,可能需要安装额外的库。此外,引用[2]中提到的CMake安装步骤可能需要用户提前安装好正确版本的CMake,但用户可能已经完成了这部分,所以可以简化步骤。 最后,生成相关问题时,需要考虑用户在安装过程中可能遇到的常见问题,如依赖项安装失败、编译错误、验证方法等,以及如何优化安装过程或解决性能问题。</think>### 树莓派4B安装OpenCV 4.5详细步骤 #### **1. 系统准备** - 建议使用**Raspberry Pi OS Bullseye**(2021年10月后版本),确保系统更新: ```bash sudo apt update && sudo apt upgrade -y sudo reboot ``` #### **2. 安装依赖项** ```bash # 基础编译工具 sudo apt install build-essential cmake git pkg-config libgtk-3-dev # 图像处理库 sudo apt install libjpeg-dev libpng-dev libtiff-dev libwebp-dev # 视频与数学库 sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt install liblapacke-dev libatlas-base-dev gfortran # Python3支持 sudo apt install python3-dev python3-pip python3-numpy ``` #### **3. 下载OpenCV 4.5源码** ```bash # 下载OpenCV 4.5.5源码 wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.5.zip unzip opencv.zip # 下载OpenCV_contrib模块(可选) wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.5.zip unzip opencv_contrib.zip ``` #### **4. 配置CMake** ```bash cd opencv-4.5.5 mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.5.5/modules \ -D ENABLE_NEON=ON \ -D ENABLE_VFPV3=ON \ -D BUILD_TESTS=OFF \ -D WITH_LIBV4L=ON \ -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages .. ``` #### **5. 编译与安装** ```bash # 使用4线程编译(根据CPU调整) make -j4 # 安装到系统目录 sudo make install sudo ldconfig ``` #### **6. 验证安装** ```python # Python终端测试 import cv2 print(cv2.__version__) # 应输出4.5.5 # 测试图像读取功能 img = cv2.imread("test.jpg") if img is not None: print("OpenCV安装成功!") ``` #### **注意事项** 1. **编译时间**:树莓派4B约需**3-5小时**,建议挂载散热风扇。 2. **内存不足**:若编译崩溃,尝试减少线程(如`make -j2`)或增加交换空间[^2]。 3. **模块裁剪**:若不需要`opencv_contrib`,可移除`-D OPENCV_EXTRA_MODULES_PATH`参数加速编译。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值