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

border="0" width="330" height="86" src="//music.163.com/outchain/player?type=2&id=574566207&auto=1&height=66">

基本情况

  • 树莓派 3B+
  • opencv版本:3.1.0
  • contrib版本:3.1.0

准备

1 ). 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

2 ). 树莓派准备

  1. 安装更新
1 sudo apt-get update 
2 sudo apt-get upgrade
  1. 安装依赖
编译环境
 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步:编译
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

第3步:验证

1 python
2 import cv2

树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库+调用CSI摄像头_第1张图片

3 ). CSI摄像头配置

第1步. 开启摄像头设备

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

树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库+调用CSI摄像头_第2张图片
树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库+调用CSI摄像头_第3张图片树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库+调用CSI摄像头_第4张图片树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库+调用CSI摄像头_第5张图片

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步:验证
树莓派安装opencv_3.1.0+opencv_contrib-3.1.0库+调用CSI摄像头_第6张图片
第4步:测试
  编写程序,用opencv打开树莓派CSI摄像头
  保存为 test.cpp

 1 cd
 2 mkdir test
 3 nano test.cpp
//输入以下代码
 #include 
 #include 
 
 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摄像头。

你可能感兴趣的:(计算机视觉,树莓派,opencv,CSI摄像头)