- 基本设置
- 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++环境测试
命令行输入:
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的选择。
注:查看自己树莓派系统版本方法
lsb_release -a
如下图,系统版本为11
直接命令行安装:(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执行时间比较长,要稍微等一段时间。
继续在build目录下执行命令:
make
nake结束以后,可以开始安装,执行命令:
sudo make insall
7、测试
7.1 python环境测试
在命令行输入python
,回车,进入python编程,输入:
import cv2
回车
cv2.__version__
回车
输出结果为安装opencv版本,说明python环境下的opencv安装成功。
新建一个文件夹
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++版本
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)