树梅派学习之——摄像头

基于项目需求,需要用到摄像头。在树莓派平台下,使用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.  
原文地址:https://www.cnblogs.com/gethope5/p/13608572.html