树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库+调用CSI摄像头

基本情况

树莓派 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步:编译

1  cd ~/opencv-3.1.0/
2  mkdir build
3  cd build
4  cmake -D CMAKE_BUILD_TYPE=RELEASE
5              -D CMAKE_INSTALL_PREFIX=/usr/local 
6              -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules
7              -D ENABLE_PRECOMPILED_HEADERS=OFF 
8              -D WITH_FFMPEG=OFF ..

第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

CSI摄像头配置

第1步. 开启摄像头设备

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

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

 

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

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

第2步:开启摄像头配置

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

第3步:验证

 

第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摄像头。

posted @ 2018-10-11 18:24  木石溪  阅读(2250)  评论(0编辑  收藏  举报