基本情况

树莓派 3B+ 

opencv版本:3.1.0

contrib版本:3.1.0

准备

opencv和contrib库下载


1 https://github.com/Itseez/opencv/archive/3.1.0.zip 2 https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip


树莓派准备

1. 卸载不常用软件

2. 安装更新


1 sudo apt-get update 2 sudo apt-get upgrade


3. 安装依赖

编译环境
1 sudo apt-get install build-essential cmake pkg-config
图像I/O包
2 sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
视频I/O包
3 sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
4 sudo apt-get install libxvidcore-dev libx264-dev
安装GTK开发库
5 sudo apt-get install libgtk2.0-dev
安装数学优化库
6 sudo apt-get install libatlas-base-dev gfortran
安装python支持
7 sudo apt-get install python2.7-dev python3-dev
安装numpy支持
8 pip install numpy


安装过程

第1步:编译

按 Ctrl+C 复制代码

 

按 Ctrl+C 复制代码

第2步:安装


1 make -j4
2 ''' 如果报错:
3 sudo make clean
4 sudo make
5 '''
6 sudo make install
7 sudo ldconfig


验证


1 python 2 import cv2


树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库_python

CSI摄像头配置

第1步. 开启摄像头设备


1 sudo raspi-config //打开摄像头 2 sudo reboot


树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库_python_02

树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库_python_03

树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库_ide_04

树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库_ide_05


3 sudo apt-get update4 sudo apt-get upgrade 5 sudo rpi-update


 

第一步:验证摄像头是否开启


1 ls -l /dev2 //看最后五行是否有video0,没有表示摄像头驱动未开启


树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库_树莓派_06

第2步:开启摄像头配置

1 sudo nano /etc/modules-load.d/rpi-camera.conf2 //添加以下内容
3 bcm2834-v4l2
4 Ctrl+o 保存
5 Ctrl+x 退出
6 sudo reboot


第3步:验证

 

树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库_python_07

第4步:测试

  编写程序,用opencv打开树莓派CSI摄像头

  保存为 test.cpp

1 cd 2 mkdir test
3 nano test.cpp
//输入以下代码
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>

using namespace cv;

int main()
{
VideoCapture cap(0);
if(!cap.isOpened()) return -1;
Mat frame;
while(1){
cap>>frame;
imshow("OpenCV CAMERA", frame);
if(waitKey(20) >=0) break;
}
return 0;
}


Ctrl+o 保存Ctrl+x 退出


//编译程序1 g++ -I/usr/local/include/opencv2 -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"test.d" -MT"test.o" -o "test.o" "test.cpp"
2 g++ -L/usr/local/lib -o test test.o -lopencv_core -lopencv_highgui -lopencv_videoio
//运行程序
3 ./test

  出现实时视频框,则表示可以在opencv中调用CSI摄像头。