视频监控
文章平均质量分 69
doublechen_it
开朗 乐观 自信
展开
-
视频与图像RGB/YUV格式详解
根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混合而成。F = r [ R ] + g [ G ] + b [ B ] 其中,r、g、b分别为三基色参与混合的系数。当三基色分量都为0(最弱)时混合为黑色光;而当三基色分量都为k(最强)时混合为白色光。调整r、g、b三个系数的值,可以混合出介于黑色光和白色光之间的各种各样的色光。 那么YUV又从何而来呢?在现代彩色原创 2011-11-16 16:42:06 · 1540 阅读 · 0 评论 -
Linux的视频编程(v4l2编程)
一.什么是video4linuxVideo4linux2(简称V4L2),是linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。二、一般操作流程(视频设备):1. 打开设备文件。 int fd=open(”/dev/video0″,O_RDWR);2. 取得设备的capability,看看设备原创 2011-11-16 17:02:33 · 1034 阅读 · 0 评论 -
V4L2应用程序框架
V4L2较V4L有较大的改动,并已成为2.6的标准接口,函盖video\dvb\FM...,多数驱动都在向V4l2迁移。更好地了解V4L2先从应 用入手,然后再深入到内核中结合物理设备/接口的规范实现相应的驱动。本文先就V4L2在视频捕捉或camera方面的应用框架。V4L2采用流水线的方式,操作更简单直观,基本遵循打开视频设备、设置格式、处理数据、关闭设备,更多的具体操作通过ioctl函原创 2011-11-16 17:07:33 · 748 阅读 · 0 评论 -
mjpg-stream移植
一、环境主机环境 :ubuntu 10.10 目标机 :FS2410(S3C2410) 主机工具链 :gcc-4.4.5 交叉工具链 :arm-none-linux-gnueabi-gcc-4.3.2 摄像头 :ZC301二、移植过程1、配置内核是内核支持芯片为ZC301的摄像头 Ma原创 2011-11-16 22:00:59 · 1834 阅读 · 0 评论 -
如何利用Video4Linux获取摄像头数据
Video4Linux是Linux下用于获取视频和音频数据的API接口,在这篇文章中,着重阐述如何利用Video4Linux获取摄像头数据,以实现连续影像的播放。1. 摄像头的安装 在 Linux下常用的摄像头驱动是spca5xx, 这是一个通用驱动,读者可以在以下网站下到这个驱动 http://mxhaard.free.fr/download.html。这个网站还给出了这款驱动支持的原创 2011-11-16 17:13:20 · 2214 阅读 · 0 评论 -
OpenCV 2.0移植过程中zlib,jpeg,png库的交叉编译
宿主系统:Ubuntu 10.10 交叉编译器arm-linux-gcc-4.4.1 目标板:ARM11 Linux系统,kernel:2.6.36第一步,安装交叉编译工具arm-linux-gcc-4.3.2xgy@Ubuntu:~/toolchain$mkdir armxgy@Ubuntu:~/toolchain$cd arm xgy@Ubuntu:~/toolcha原创 2011-11-16 21:35:02 · 1142 阅读 · 0 评论 -
利用v4l2获取一帧数据到文件
到今天为止,终于利用摄像头搞出来一张图片,并成功显示,废话少说,接下来就把我再学习v4l2过程中的一些弯路和经验 和大家分享吧。首先,要学习V4L2编程的整体框架:(可结合v4l2-api)网上有很多,我直接粘贴过来的:视频采集基本步骤流程如下: 打开视频设备,设置视频设备属性及采集方式、视频数据处理,关闭视频设备,如下图所示:一、打开视频设备打开视频设备非常简单,在V4L2中原创 2011-11-22 17:25:16 · 6604 阅读 · 2 评论 -
Socket主机与客户机通信难点
最近在研究视频传输,通过服务器将采集到的视频通过socket传输到远程终端,但每当建立好连接,服务器已经采集好数据,但将其通过send发送到终端,终端通过recv接受数据,但每次接受到的数据都不完整,大量数据丢失,很多书上只是接受了socket通信的方法 但没有提到大量数据传输时,数据丢失的解决办法和问题,恰巧我也遇到了,只是研究了一翻,发现原来socket发送数据时会讲数据进行分包出来,再TCP原创 2011-11-26 20:23:03 · 1545 阅读 · 0 评论 -
Linux如何清空Socket缓冲区
最近碰到一个问题,对于阻塞模式的socket通讯,如果要实现设备的命令控制,那么进入命令流前,缓冲区不能存有上次通讯没有取回的信息,否则一旦命令发出,然后读取缓冲区,很显然会读到上一次的剩余数据。做法当然很简单,就是先清除接收区的缓冲数据,可是如何清除?网上有很多这样的问题,但都没什么规范的解决办法,有的甚至为了达到清空的目的,建议先close一下socket,这个太大手笔了,为了解决一个小问原创 2011-11-26 21:07:01 · 1109 阅读 · 0 评论