基于项目需求,需要用到摄像头。在树莓派平台下,使用qt获取摄像头数据,并通过网络给传出去。对于小白来说,进入下述操作之前,得明白nano编辑器的简单操作指令。

一,安装硬件

二,raspi-config,配置摄像头

  网上有比较简明的介绍,在此不做详细介绍。

三,通过工具mplayer预览图像。

  1,安装mplayer:

    sudo apt-get install mplayer 

预览摄像头,有的预览软件有的全屏显示无法退出,下述预览指令提供了单独程序窗口现实摄像头图像。

    sudo mplayer tv://  

四,测试成功后,安装opencv环境

  1,系统默认的更新源是国外的树莓派官方服务器在国外,更新速度较慢。为了提高安装速度,可更换为国内服务器。执行指令:

/etc/apt/sources.list

利用#注释掉官方服务器,添加为国内服务器(如清华)

 

树莓派 docker usb 摄像头_服务器

 

  3,执行指令 sodu apt-get update 和 sodu apt-get upgrade指令

  4,安装opencv各种依赖项

sudo apt-get install build-essential cmake git pkg-config

sudo apt-get install libjpeg8-dev

sudo apt-get install libtiff5-dev

sudo apt-get install libjasper-dev

sudo apt-get install libpng12-dev

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

sudo apt-get install libgtk2.0-dev

sudo apt-get install libatlas-base-dev gfortran

sudo apt-get install libopencv-dev

sudo apt-get install libcv-dev

 

树莓派 docker usb 摄像头_树莓派 docker usb 摄像头_02

在执行完语句sudo apt-get install libcv-dev,发现没有安装成功,仔细读取其提示信息,表明,libopencv-dev库中已经包含了libcv-dev的内容,故不必管它。

 

 

 

  5,在/home/pi目录下创建opencv目录

mkdir opencv
cd opencv

6,下载opencv3.4.1源码,在下载源码时,可能会出现中断,也可以在window或其他平台中先下载后,然后解压到 opencv的目录下即可。

wget -O opencv-3.4.1.zip https:///Itseez/opencv/archive/3.4.1.zip
wget -O opencv_contrib-3.4.1.zip https:///Itseez/opencv_contrib/archive/3.4.1.zip
unzip opencv-3.4.1.zip
unzip opencv_contrib-3.4.1.zip

  7.在opencv-3.4.1里创建release目录

cd opencv-3.4.1
mkdir release
cd release

6.生成makefile

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

9.配置qt5

compiler里点击Add,添加C++编译器,选择/usr/bin/里的g++,apply,kit里编译器选刚刚配置好的g++

10.qt配置opencv

.pro里添加如下代码

INCLUDEPATH += /usr/local/include \
		               /usr/local/include/opencv \
		               /usr/local/include/opencv2
LIBS += -L /usr/local/lib/ -lopencv_highgui -lopencv_core -lopencv_imgproc \
		                         -lopencv_video -lopencv_videoio -lopencv_imgcodecs -lpthread

 测试代码:

    1. Mat img;
    2.  
    VideoCapture camera(0);
    3.  
    if(!camera.isOpen())
    4.  
    {
    5.  
    qDebug()<<"open camera error!";
    6.  
    return;
    7.  
    }
    8.  
    while(1)
    9.  
    {
    10.  
    camera >> img;
    11.  
    imshow("camera",img);
    12.  
    if(waitKey(30) == 27)
    13. break;
    1.   }
    2.

     

     

     

     

     

    1,安装qt,so easy,安装后,写一个简单的demo,编译运行,没有问题,说明安装成功了。

    2,利用qt获取摄像头,树莓派下需要安装驱动,大致是需要安装v4l驱动,那就去了解怎么安装该驱动了。

     

      1. Mat img;
      2.  
      VideoCapture camera(0);
      3.  
      if(!camera.isOpen())
      4.  
      {
      5.  
      qDebug()<<"open camera error!";
      6.  
      return;
      7.  
      }
      8.  
      while(1)
      9.  
      {
      10.  
      camera >> img;
      11.  
      imshow("camera",img);
      12.  
      if(waitKey(30) == 27)
      13.  
      break;
      14.