命令行输入:
sudo raspi-config
选择Advanced Options(光标移动,Tab键选择,空格键确认)
选择Expand Filesystem
设置完成后退出重启树莓派。
如果没有出现重启选项,在命令行输入:
sudo reboot
在OpenCV中,读取摄像头数据,需要开启v4l2(video for linux 2),开启方法如下:
命令行输入:
sudo vim /etc/modules
打开后在文件最后添加一行:
bcm2835-v4l2
sudo pip3 install numpy
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版本的树莓派是可以直接安装的,之前版本的往下看)
sudo pip3 install opencv-python
需要下载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
进入解压的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 ..
注意:以上命令需要根据你具体的软件环境进行修改,否则可能报错。
其中:
继续在build目录下执行命令:
make
nake结束以后,可以开始安装,执行命令:
sudo make insall
在命令行输入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++版本