树莓派5一键安装C++版本OpenCV

在这里插入图片描述

安装环境

本人当前的安装环境:

  1. 树莓派5
  2. Raspberry Pi os (64-bit) Debian12 Bookworm
    镜像下载地址
    在这里插入图片描述
  3. 我这里是将镜像安装好后直接安装opencv,如果不是刚安装好的镜像需要注意是否有openCV的python之类的安装过,不然可能出现编译错误

一、扩展内存

确保树莓派有足够空间

sudo raspi-config
  1. 打开配置界面
    在这里插入图片描述
  2. 配置高级设置
    在这里插入图片描述
  3. 确保所有SD卡可用
    在这里插入图片描述
  4. 根据提示重启树莓派即可

二、建立安装脚本

#创建安装脚本
touch Opencv-4-8-0.sh
#给权限
sudo chmod 777 Opencv-4-8-0.sh 

脚本名最好保持一致,或者是不能被opencv*识别到 因为脚本中有sudo rm -rf opencv*可能会删除掉脚本
填充脚本内容
脚本获取链接由此入 | 直接复制我下面的内容,都是一模一样的

#!/bin/bash
set -e
install_opencv () {
echo ""

case `cat /etc/debian_version` in
10*) echo "Detecting Debian 10, Buster. "
	;;
11*) echo "Detecting Debian 11, Bullseye. "
	;;
12*) echo "Detecting Debian 12, Bookworm. "
	;;
esac

echo ""
echo "Installing OpenCV 4.8.0"
echo "It will take minimal 2 hour !"
cd ~
# install the dependencies
sudo apt-get install -y build-essential cmake git unzip pkg-config
sudo apt-get install -y libjpeg-dev libtiff-dev libpng-dev
sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install -y libgtk2.0-dev libcanberra-gtk* libgtk-3-dev
sudo apt-get install -y libgstreamer1.0-dev gstreamer1.0-gtk3
sudo apt-get install -y libgstreamer-plugins-base1.0-dev gstreamer1.0-gl
sudo apt-get install -y libxvidcore-dev libx264-dev
sudo apt-get install -y python3-dev python3-numpy python3-pip
sudo apt-get install -y libv4l-dev v4l-utils
sudo apt-get install -y libopenblas-dev libatlas-base-dev libblas-dev
sudo apt-get install -y liblapack-dev gfortran libhdf5-dev
sudo apt-get install -y libprotobuf-dev libgoogle-glog-dev libgflags-dev
sudo apt-get install -y protobuf-compiler

#get TBB
case `cat /etc/debian_version` in
10*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev
	;;
11*) sudo apt-get install -y libtbb2 libtbb-dev libdc1394-22-dev
	;;
12*) sudo apt-get install -y libtbbmalloc2 libtbb-dev
	;;
esac

cd ~ 
sudo rm -rf opencv*
# download the 4.8.0 version
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.8.0.zip 
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.8.0.zip 
# unpack
unzip opencv.zip 
unzip opencv_contrib.zip 
# Some administration to make life easier later on
mv opencv-4.8.0 opencv
mv opencv_contrib-4.8.0 opencv_contrib
# clean up the zip files
rm opencv.zip
rm opencv_contrib.zip

# set install dir
cd ~/opencv
mkdir build
cd build

# run cmake
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D ENABLE_NEON=ON \
-D WITH_OPENMP=ON \
-D WITH_OPENCL=OFF \
-D BUILD_TIFF=ON \
-D WITH_FFMPEG=ON \
-D WITH_TBB=ON \
-D BUILD_TBB=ON \
-D WITH_GSTREAMER=ON \
-D BUILD_TESTS=OFF \
-D WITH_EIGEN=OFF \
-D WITH_V4L=ON \
-D WITH_LIBV4L=ON \
-D WITH_VTK=OFF \
-D WITH_QT=OFF \
-D WITH_PROTOBUF=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D BUILD_EXAMPLES=OFF ..

# run make
make -j4
sudo make install
sudo ldconfig

# cleaning (frees 320 MB)
make clean
sudo apt-get update

echo "Congratulations!"
echo "You've successfully installed OpenCV 4.8.0 on your Raspberry Pi 64-bit OS"
}

cd ~

if [ -d ~/opencv/build ]; then
  echo " "
  echo "You have a directory ~/opencv/build on your disk."
  echo "Continuing the installation will replace this folder."
  echo " "
  
  printf "Do you wish to continue (Y/n)?"
  read answer

  if [ "$answer" != "${answer#[Nn]}" ] ;then 
      echo "Leaving without installing OpenCV"
  else
      install_opencv
  fi
else
    install_opencv
fi

三、一键安装

脚本会自行执行 安装依赖/编译/安装 过程-耐心等待即可

如果出现下述问题 由此入访问此链接
在这里插入图片描述

运行脚本 整个过程约一段时间

./Opencv-4-8-0.sh 

在这里插入图片描述

这个地方会卡好一会👇

在这里插入图片描述

后面就是安装了----->安装完成👇 可喜可贺

在这里插入图片描述

### 如何在树莓派5安装和配置OpenCV #### 扩展内存 为了确保有足够的内存用于编译过程,在开始之前建议先扩展交换文件大小。可以通过编辑`/etc/dphys-swapfile`来调整交换空间的大小[^1]。 #### 更新系统包列表并升级现有软件包 确保系统的软件库是最新的,这有助于避免潜在冲突以及获得最新的依赖项支持: ```bash sudo apt update && sudo apt upgrade -y ``` #### 安装必要的构建工具和其他依赖项 对于C++版本OpenCV来说,除了基本的开发环境外还需要一些额外的支持库才能顺利完成编译工作: ```bash sudo apt-get install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev \ zlib1g-dev exiftool unzip wget curl ffmpeg v4l-utils -y ``` #### 下载源码并解压 前往官方GitHub仓库获取最新稳定版OpenCV源代码,并将其放置到合适的位置准备后续操作: ```bash cd ~ wget -O opencv.zip https://github.com/opencv/opencv/archive/refs/tags/4.x.zip unzip opencv.zip rm opencv.zip mv opencv-4.x OpenCV ``` 同样地也需要下载contrib模块以便能够访问更多功能特性: ```bash wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/refs/tags/4.x.zip unzip opencv_contrib.zip rm opencv_contrib.zip mv opencv_contrib-4.x opencv_contrib ``` #### 编译与安装 创建一个新的目录作为构建目标路径,接着通过cmake指定参数完成配置阶段的工作;之后就可以利用make指令正式开始了! ```bash mkdir -p ~/opencv_build && cd ~/opencv_build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D ENABLE_NEON=ON \ -D WITH_V4L=ON \ -D BUILD_opencv_python3=OFF \ .. make -j$(nproc) sudo make install sudo ldconfig ``` 请注意这里关闭了Python绑定部分(`BUILD_opencv_python3`)因为题目提到的是关于C++版本的需求。 #### 验证安装成果 最后一步就是确认一切正常运作无误啦~可以尝试运行下面这段简单的测试程序来看一看效果如何: ```cpp #include <iostream> #include "opencv2/core.hpp" #include "opencv2/imgcodecs.hpp" #include "opencv2/highgui.hpp" int main(int argc, char **argv){ std::cout << "OpenCV version : " << CV_VERSION << std::endl; cv::Mat image = cv::imread("/path/to/image.jpg"); if(image.empty()){ std::cerr<<"Could not open or find the image!"<<std::endl; return -1; } cv::imshow("Display window",image); int k=cv::waitKey(0); // Wait for a keystroke in the window return 0; } ``` 保存上述代码至`.cpp`文件后使用如下命令进行编译链接: ```bash g++ `pkg-config --cflags --libs opencv4` your_file_name.cpp -o output_executable ./output_executable ``` 如果能顺利显示出图片即代表已经成功完成了整个流程[^3]。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值