一、首先在某东上购买树莓派摄像头

我的买的硬件张这个样子的(CSI接口摄像头):

正视图                                                        后视图

  

当然我买的不是正版的,价格在50多块钱吧。所以也不算很贵,买回来看看,电路也不算特别的复杂,自己做的话应该也是没有问题的~(注意买回来的摄像头前面都是有一个小的透明薄膜的,但是很影响摄像头的成像效果,用的时候撕掉它,不用的时候可以去掉。)

简单阐述了解CSI接口摄像头参考:http://www.cnblogs.com/lifan3a/articles/5010633.html):

  • 全称CMOS Sensor Interface(CSI)
  • 前端-配置逻辑接口以便支持大多数通用的可用的CMOS摄像头接口。
  • 支持CCIR656视频接口以及传统的摄像头接口。
  • 8位数据口,支持方便YCC,YUV,Bayer或者是RGB的数据格式输入。
  • 完全可控的8-bit或16-bit数据到32-bit的FIFO进行打包
  • 32*32大小的FIFO存储接受到的的图像像素数据,该FIFO可以通过可编程的IO或者是DMA进行读取.
  • 后端-提供了直接到eMMA的预处理PrP块接口(PrP和PP组成了MX27图形加速器eMMA,PrP和PP能够用来给视频做预处理和后期处理,例如,放大,缩小,颜色转换)
  • 提供sensor的可屏蔽中断源,该中断源也是中断可控的: 开始Frame,结束Frame,Change of Field,FIFO Full
  • 提供给外部sensor用的,可配置的主时钟频率
  • 由统计数据产生的自动曝光(AE)和自动白平衡(AWB)控制。

二、接下来开始安装驱动使能树莓派的相关模块:

首先使用 ls指令来查看是否加载到了对应的video device设备:

ls -al /etc

所以没有发现我们的设备,接下来要做的是添加摄像头的驱动程序.ko文件和对应的raspiberry B3+的硬件使能问题:

1、添加驱动程序文件进来:

sudo vim /etc/modules

在最后添加如下的代码:

bcm2835-v4l2

这样就完成了在启动过程中加载camera驱动的前提,注意一个问题就是/etc/modules文件的修改权限是super admin所以,记得使用sudo vim /etc/modules.

2、修改Raspberry的启动配置使能项:

sudo raspi-config

得到如下的配置界面:

选择Interfacing Option,选中Select然后Enter进入,如下图所示:

接下来机会问你是否同意使能Pi camera,选择是然后会让你重启,,重启就好了:

  选择 “是”

3、重启完之后,我们的基本的操作就完成了,下来来看看/dev下面是否存在摄像头设备的问题:

ls -al /dev/ | grep video

好得,没问题了,找到了我们想要的看到的设备:video0 device

注:可能提示这样的问题(如果在以上工作都完成的情况下,摄像头还是不能正常的使用或者驱动,请先检查硬件的连接的问题,可能是排线没有很好的插稳,或者是摄像头本身的问题。):

mmal mmal_vc_component_create failed to create component 'vc ril camera' (1:ENOMEM)
mmal mmal_component_create_core could not create component 'vc ril camera' (1) mmal Failed to create camera component
mmal main Failed to create camera component
mmal Camera is not detected. Please check carefully the camera module is installed correctly

上面的问题参考这里:http://blog.sina.com.cn/s/blog_e4008c660101hkd9.html

三、下面简单的使用操作树莓派的摄像头:

1、我们使用rapistill指令来截图(当你在运行此指令的时候,树莓派上的指示灯会亮哦~):

raspistill -o image.jpg

采集的效果如下所示:

这里我们看到采集的图片的大小是2592X1944=5038848大约就是500W的像素了。看起来也是非常的清晰啦~确实很满意的啊!!

这里讲一下raspistill命令的相关参数和实验的具体效果:

-v:调试信息查看
-w:图像宽度
-h:图像高度
-rot:图像旋转角度,只支持 0、90、180、270 度(这里说明一下,测试发现其他角度的输入都会被转换到这四个角度之上)
-o:图像输出地址,例如image.jpg,如果文件名为“-”,将输出发送至标准输出设备
-t:获取图像前等待时间,默认为5000,即5秒
-tl:多久执行一次图像抓取

执行下面的指令:

raspistill -o image%d.jpg -rot  -w  -h  -t  -tl  -v

接着下面就会输出一系列的捕获的信息,

如图片的大小

图片的总捕获时间

图像是否旋转,

是否水平反转垂直反转:

下面是最后的捕获的结果:

注:这里解释一下图片的采集数量和-t参数以及-tl参数的相关关系:N_Picture = -t(获取图像前等待时间)/-tl(多久执行一次抓取时间) + 1。所以有20000/5000+1 = 5张图片

2、使用raspivid指令来生成.h246的文件

raspivid -o mykeychain.h264 -t  -w  -h   

这样就会在当前文件夹下面生成mykeychain.h264的文件:

如果你想改变拍摄时长,只要通过 "-t" 选项来设置你想要的长度就行了(单位是毫秒)。

如果你想改变图像的分辨率,使用 "-w" 和 "-h" 选项将分辨率降为 1280x720等等。

四、使用VLC等来实现http的视屏流传输:

1、首先需要在你的树莓派上面安装VLC的软件

sudo apt-get update
sudo apt-get install vlc --fix-missing
sudo apt-get install vlc

2、启动你的树莓派摄像头

sudo raspivid -o - -rot  -t  -fps |cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8080}' :demux=h264  

3、打开你PC机电脑上的VLC软件,选择打开网络串流(Ctrl+N),输入上面指令的端口号以及对应的树莓派的IP地址

(如下图所示我的树莓派的IP地址是192.168.1.129),运行结果如下图所示,当然也发现http的视频流的确比较卡,当然我采用的视频的画质是500W像素的画质,所以视频的质量比较差,当我将视频的画质调节到720*360时,感觉非常的流畅。(@局域网测试环境)

http://192.168.1.129:8080

 

后续在使用Python Opencv来控制调用树莓派的摄像头做些有意思的东西~

五、使用Raspiberry自带的摄像头python接口picamera库+Opencv来控制调用Camera

官网的Document参考:http://picamera.readthedocs.io/en/release-1.13/index.html

可以参考这里的完整教程:https://robocoderhan.github.io/

也可以参考我的另一篇博客:http://www.cnblogs.com/uestc-mm/p/7606855.html

        完~

树莓派3 B+ 的摄像头简单使用(video-streamer)的更多相关文章

  1. 树莓派3 之 USB摄像头安装和使用

    需求 如果你想在树莓上拍照或者录影,你可以安装树莓派的摄像头(有点贵).如果你不想要为摄像头模块花费额外的金钱,那有另外一个方法,就是你常见的USB 摄像头.你可能已经在PC上安装过了.我买的如图的这 ...

  2. 树莓派安装kali后的简单配置

    树莓派可以说是极客的最爱,可以根据不同的需求去做定制. 前文<使用树莓派和kali Linux打造便携式渗透套件>讲了一些使用树莓派的基础,主要侧重于将树莓派当作一个物理后门使用.我则更喜 ...

  3. 利用树莓派跑python爬虫的简单教程——从无到有

    因为学校项目的原因入手了树莓派,到手先折腾了两天,发现网上的教程大都是拿他搭建服务器,mail,或者媒体服务器之类,对于在学校限时的宽带来说有点不太现实,不过低功耗适合一直开着的确启发了我.所以想到拿 ...

  4. Qt Opencv 在Linux下摄像头简单示例(转)

    下面写的文章也许网上也有类似的,但是大多数都没有给出思路及背景,让初学者每次都只能学到一点皮毛,不少知识需要大量搜索零碎地拼凑起来.题外话,虽然现在是碎片化信息时代,但正是这样信息整合能力也显得非常重 ...

  5. 【智能无线小车系列九】在树莓派上使用USB摄像头

    材料准备: 1.树莓派 2.AS 4WD小车 3.WebCam 4.小米移动电源 5.TP—LINK 高增益150MUSB无线网卡 操作流程: 1.将WebCam插上树莓派后,首先要确认树莓派是否支持 ...

  6. Android Things:树莓派3上手就是这么简单

    http://blog.csdn.net/p106786860/article/details/54566620 ——————————————————————————————————————————— ...

  7. 树莓派:使用OpenCV调用自带的摄像头.

    总所周知,树莓派上,调用摄像头的指令有raspistill和raspivid.若要使用opencv对摄像头进行调用,不少人会出现 cvCaptureFromCAM(0)函数无法找到Pi Cam的错误情 ...

  8. html 通过input video canvas 打开摄像头 定制相机

    在机缘巧合之下,了解到用HTML5和javascript调用摄像头来实现拍照功能,今天就把大致原理写下来.页面布局很简单,就是一个input标签,两个HTML5元素video.canvas和一个but ...

  9. Python实现树莓派摄像头持续录像并传送到主机

    关于树莓派,想必从事嵌入式开发的开发者都有听过,树莓派原名为Raspberry Pi,也就是它的英文读法,树莓派诞生于英国,由"Raspberry Pi 基金会"这个慈善组织注册开 ...

随机推荐

  1. 利用mvc filterconfig属性实现权限验证

    好久没写过博客了,突然发现最后博客更新时间是2016年,感觉好长远 权限控制基本是所有cms系统或者进销存,或者几乎所有能和业务系统扯上关系的系统都要用上的一个模块,很多都想把这个模块独立出来,权限单 ...

  2. (转载)公开的海量数据集 Public Research-Quality Datasets

    转载自:http://rensanning.iteye.com/blog/1601663 海量数据数据集 海量数据(又称大数据)已经成为各大互联网企业面临的最大问题,如何处理海量数据,提供更好的解决方 ...

  3. opencv VideoCapture使用示例

    在centos7下验证VideoCapture功能. 1 opencv处理视频时要使用ffmpeg,这里使用添加源的方式安装,分为3步 1.1 先安装EPEL Release,使用其他的repo源,所 ...

  4. hdu3416 Marriage Match IV(最短路+网络流)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3416 题意: 给出含n个点.m条有向边的图,每条边只能走一次,给出起点和终点,求起点到终点的最短路径有 ...

  5. JavaScript函数使用和DOM节点

    一.函数的声明与调用 1.函数声明的格式: function 函数名(参数1, 参数2,....){ 函数体代码 return 返回值:} 2.函数的调用:①直接调用:函数名(参数1的值,参数2的值, ...

  6. java面向对象(三)之抽象类,接口,向上转型

    java类 java类分为普通类和抽象类,接口,上一节我大概讲了java类的一般格式,今天将抽象类和接口.同时讲一下它们是怎样存储的. 最重要的是理解为什么要有抽象和接口,这样学下来你猜不会迷茫,才能 ...

  7. easyUI创建人员树

    最近做了一个树状的下拉列表,在这里记录一下,以后可以直接使用 项目中的树状下拉列表是用来选择人员用的,具体实现展示如下: 先说一说功能,左边的人员数是提供选人的,当点击中间的按钮,选中的人员会直接移到 ...

  8. shell下office、html、pdf文档互转方法

     分类: 后台开发 版权声明:本文为博主原创文章,未经博主允许不得转载.   OFFICE 文档在线预览方案很多: 服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览,比如flexp ...

  9. ★电车难题的n个坑爹变种

    哲学家都不会做的电车难题变异 此题会答清华北大 "电车难题(Trolley Problem)"是伦理学领域最为知名的思想实验之一,其内容大致是: 一个疯子把五个无辜的人绑在电车轨道 ...

  10. MySQL (九)-- 代码执行结构、函数、存储过程

    1 代码执行结构 代码执行结构有三种:顺序结构.分支结构和循环结构. 1.1 分支结构 分支结构:实现准备多个代码块,按照条件选择性执行某段代码. 在MySQL中只有if分支. 基本语法 if 条件判 ...