树莓派4B源码编译opencv3.4.1
主要参考:https://blog.csdn.net/simonforfuture/article/details/101716181
零、安装准备:
升级系统:
sudo apt-get update
sudo apt-get upgrade
安装依赖:
sudo apt-get install build-essential cmake pkg-config libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk2.0-dev libgtk-3-dev libatlas-base-dev gfortran
安装python3工具:
sudo apt-get install python3 python3-setuptools python3-dev
设置pip:
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
一、安装opencv3.4.1
安装numpy:
sudo pip3 install numpy
安装必要的opencv包:
sudo apt-get install libopencv-dev python-opencv
获取软件包:
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.4.1.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip
unzip opencv.zip
unzip opencv_contrib.zip
//也可以用下载工具到对应软件地址下载
源码编辑安装:
cd ~ & mkdir opencv
mv opencv_contrib/ ~/opencv/
cd ~/opencv-3.4.1/ & mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib-3.4.1/modules \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D BUILD_EXAMPLES=ON ..
cmake过程中出现:fatal error: boostdesc_bgm.i: 没有那个文件或目录 #include "boostdesc_bgm.i"错误:
缺少一些文件,主要有:
boostdesc_bgm.i boostdesc_bgm_bi.i boostdesc_bgm_hd.i boostdesc_lbgm.i boostdesc_binboost_064.i boostdesc_binboost_128.i boostdesc_binboost_256.i vgg_generated_120.i vgg_generated_64.i vgg_generated_80.i vgg_generated_48.i
可以去网站下好,拷贝到: ~/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/src目录即可
错误的原因是缺少cuda.hpp文件,这些文件在opencv_contrib-.4.1/modules/xfeatures2d/include/opencv2
目录下,所以直接将这个目录下的文件拷贝到opencv-3.4.1/modules/stitching/include/opencv2/解决,其他请找百度吧
修改交换空间:
停止交换空间的使用:sudo /etc/init.d/dphys-swapfile stop
增加交换空间容量,修改/etc/dphys-swapfile中的变量CONF_SWAPSIZE的值100改成1024或2048
开启交换空间的使用:sudo /etc/init.d/dphys-swapfile start
多线程编译opencv:(需要漫长的等待,估计要2小时左右吧)
make -j4
当make的结果为100%时,opencv编译成功,安装命令:
sudo make install
sudo ldconfig
测试:
进入python3环境:
终端输入:python3
import cv2
cv2.__version__
显示版本号为‘3.4.1’即为正常
恢复交换分区的大小:
停止交换空间的使用:sudo /etc/init.d/dphys-swapfile stop
增加交换空间容量,修改/etc/dphys-swapfile中的变量CONF_SWAPSIZE的1024或2048改成值100
开启交换空间的使用:sudo /etc/init.d/dphys-swapfile start
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具