树莓派配置opencv环境(包含c++和python)

文章目录

    • 基本设置
      • 1、把根目录扩展到整个SD卡
      • 2、配置摄像头设备
    • 配置环境
      • 3、安装opencv所需库
        • 3.1 安装numpy
        • 3.2 安装opencv依赖
      • 4、安装opencv
        • 4.1 python环境
        • 4.2 c++环境及python环境(11以及11之前的系统版本)均可
      • 5、设置Cmake参数
      • 6、编译
      • 7、测试
        • 7.1 python环境测试
        • 7.2 c++环境测试

基本设置

1、把根目录扩展到整个SD卡

命令行输入:

sudo raspi-config

在这里插入图片描述
选择Advanced Options(光标移动,Tab键选择,空格键确认)
在这里插入图片描述
选择Expand Filesystem
在这里插入图片描述
设置完成后退出重启树莓派。
如果没有出现重启选项,在命令行输入:

sudo reboot

2、配置摄像头设备

在OpenCV中,读取摄像头数据,需要开启v4l2(video for linux 2),开启方法如下:
命令行输入:

sudo vim /etc/modules

打开后在文件最后添加一行:

bcm2835-v4l2

配置环境

3、安装opencv所需库

3.1 安装numpy

sudo pip3 install numpy

3.2 安装opencv依赖

sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y

sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y

注:这里遇到的依赖问题有可能是源的问题。看看自己换的国内源和自己的树莓派系统版本是否一致。如果国内源没问题的话可以使用aptitude来进行安装解决软件包以来问题,过程如下:
首先安装aptitude软件包:

sudo apt-get install aptitude

使用方法为:

sudo aptitude install 文件名

即将上面安装依赖的命令中的apt-get换成aptitude
对于aptitude推荐的解决方案可以进行yes和no的选择。

4、安装opencv

注:查看自己树莓派系统版本方法

lsb_release -a

如下图,系统版本为11
树莓派配置opencv环境(包含c++和python)_第1张图片

4.1 python环境

直接命令行安装:(11版本的树莓派是可以直接安装的,之前版本的往下看)

sudo pip3 install opencv-python

4.2 c++环境及python环境(11以及11之前的系统版本)均可

需要下载Opencv和OpenCV_Contrib两个仓库。
OpenCV仓库:Github
OpenCV_Contrib仓库:Github
注意:下载时OpenCV和OpenCV_Contrib要选择同一版本

下载后,可以使用VNC Viewer的File Transfer功能或者U盘等方法把文件传输到树莓派的/home/pi/Downloads目录中。
解压这两个压缩包

cd /home/pi/Downloads
unzip opencv-版本.zip
unzip opencv_contrib-版本.zip

5、设置Cmake参数

进入解压的opencv的包,创建一个build文件夹,进入build文件夹进行配置。

cd /home/pi/Downloads/opencv-版本
mkdir build
cd build

设置cmake参数,执行以下命令:

cmake -D CMAKE_BUILD_TYPE=BULLSEYE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-4.5.5/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/lib/python3.9 PYTHON_INCLUDE_DIR=/usr/include/python3.9 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.9.so PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include ..

注意:以上命令需要根据你具体的软件环境进行修改,否则可能报错。
其中:

  • CMAKE_BUILD_TYPE=RELEASE \ 代表编译类型为发行版本
  • CMAKE_INSTALL_PREFIX=/usr/local \ 安装路径
  • INSTALL_C_EXAMPLES=ON \ C demo
  • INSTALL_PYTHON_EXAMPLES=ON \ Python demo
  • OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-4.5.5/modules \ OpenCV Contrib路径
  • BUILD_EXAMPLES=ON \ 编译demo
  • WITH_LIBV4L=ON \ 开启Video for Linux
  • PYTHON3_EXECUTABLE=/usr/lib/python3.9 \ Python3路径
  • PYTHON_INCLUDE_DIR=/usr/include/python3.9 \ Python3 include文件夹
  • PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.9.so \ Python3库
  • PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \ Python3 Numpy安装路径

  • 最后的两个点也是命令的一部分,不要去掉。
    cmake执行时间比较长,要稍微等一段时间。

6、编译

继续在build目录下执行命令:

make

nake结束以后,可以开始安装,执行命令:

sudo make insall

7、测试

7.1 python环境测试

在命令行输入python,回车,进入python编程,输入:

import cv2

回车

cv2.__version__

回车
输出结果为安装opencv版本,说明python环境下的opencv安装成功。

7.2 c++环境测试

新建一个文件夹

mkdir test
cd test

创建编写一小段demo test_opencv.cpp 读取摄像头视频

#include 
#include 
#include 
using namespace cv;
 
int main(int argc, const char * argv[]) {
    Mat image;
    VideoCapture capture(0);//打开摄像头
    while(1){
    	capture>>image;
	    imshow("test",image);
	    waitKey(20);
    }
}

创建编写CMakeLists.txt

cmake_minimum_required(VERSION 2.6)
project(test_opencv)
find_package(OpenCV REQUIRED)
add_executable(test_opencv test_opencv.cpp)
target_link_libraries(test_opencv ${OpenCV_LIBS})

编译运行,获取摄像头拍摄画面。

cmake .
 
make 
 
./test_opencv

说明c++环境下opencv安装成功。


参考文章:
树莓派OpenCV系列教程1:开发环境搭建
子豪兄教你在树莓派上安装OpenCV
树莓派安装使用 opencv c++版本

你可能感兴趣的:(经验分享)