zoukankan      html  css  js  c++  java
  • 树梅派学习之——摄像头

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

    一,安装硬件

    二,raspi-config,配置摄像头

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

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

      1,安装mplayer:

        sudo apt-get install mplayer 

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

        sudo mplayer tv://  

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

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

      sudo nano /etc/apt/sources.list  

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

     

       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

     

    在执行完语句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://github.com/Itseez/opencv/archive/3.4.1.zip
    wget -O opencv_contrib-3.4.1.zip https://github.com/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.   }
     

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

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

    参考资料:

    1,https://zhuanlan.zhihu.com/p/137745265  树莓派固件更新(rpi-update)的那些坑

    2,https://www.ics.com/blog/raspberry-pi-camera-module The Raspberry Pi Camera Module

    3,https://blog.csdn.net/qq_38880380/article/details/78727809  树莓派3B--csi摄像头的安装

    4,https://www.cnblogs.com/jsxyhelu/p/7839062.html  基于PI+QT实现OpenCV图像处理操作(基本环境搭建)

    5,https://www.jianshu.com/p/7ee5f075f32a 树莓派apt-get更新速度慢的解决方法

    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.  
  • 相关阅读:
    Eclipse+Java+OpenCV246人脸识别
    Eclipse+Java+OpenCV246环境搭建和代码测试
    Request对象和Response对象详解
    request与response对象详述
    request对象和response对象
    减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片(大型网站优化技术)
    base64码通过http传输 +号变 空格 问题解决
    RSA Android加密的数据服务器上无法解密?
    RSA解密时javax.crypto.BadPaddingException: Data must start with zero
    SRA解密报错:Data must start with zero
  • 原文地址:https://www.cnblogs.com/gethope5/p/13608572.html
Copyright © 2011-2022 走看看