- 博客(112)
- 资源 (65)
- 收藏
- 关注
转载 H264编码 封装成MP4格式 视频流 RTP封包
一、概述本文讲述的是对H264编码且封装成MP4格式的视频流进行RTP打包过程时需要了解的一些基本知识。二、H264的基础知识1.H264的编码格式H.263 定义的码流结构是分级结构,共四层。自上而下分别为:图像层(picturelayer)、块组层(GOB layer)、宏块层(macroblock layer)和块层(block layer)。而与H.263
2013-04-08 09:37:26
538
转载 视频YUV数据介绍
做视频采集与处理,自然少不了要学会分析YUV数据。因为从采集的角度来说,一般的视频采集芯片输出的码流一般都是YUV数据流的形式,而从视频处理(例如H.264、MPEG视频编解码)的角度来说,也是在原始YUV码流进行编码和解析,所以,了解如何分析YUV数据流对于做视频领域的人而言,至关重要。本文就是根据我的学习和了解,简单地介绍如何分析YUV数据流。 YUV,分为三个分量,“Y”表示明
2013-04-08 09:34:59
445
转载 windows下使用vc2008编译librtmp
主要参考网站:http://blog.youkuaiyun.com/senophen/article/details/7349045http://zhaostudy2.blog.163.com/blog/static/1353502052011182538414/http://www.cnblogs.com/haibindev/archive/2011/12/29/2305712.ht
2013-04-01 17:36:33
789
转载 RTMP协议发送H.264编码及AAC编码的音视频,实现摄像头直播
RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系Flash Player和RtmpServer,如FMS,Red5, crtmpserver等。RTMP协议可用于实现直播、点播应用,通过FMLE(Flash Media Live Encode
2013-04-01 17:12:14
639
转载 C++ XML解析之TinyXML篇
[cpp] view plaincopyprint?最近使用TinyXML进行C++ XML解析,感觉使用起来比较简单,很容易上手,本文给出一个使用TinyXML进行XML解析的简单例子,很多复杂的应用都可以基于本例子的方法来完成。以后的文章里会讲解使用Xerces进行C++ XML解析的例子,希望大家一起交流。 TinyXML是一个开源的解析XML的解析库,能够用于C++,
2013-03-27 09:19:03
335
转载 比较全面的gdb调试命令
用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更
2013-03-27 09:09:43
470
转载 Qt+FFMPEG编写适合自己的批量视频转换程序
一个专用的批量视频转换程序。它能够从一个目录中读取要转换的视频,添加水印并转换后自动保存在另一个目录。且输出目录和源目录的子目录结构要相对一致。例如源目录为G:\source\,所有的视频都保存在里面,源文件目录为:G:\source\video1\test.mp4。如果要求输出文件都保存在G:\output\那么转换后的文件就要保存在G:\output\video1\test.flv。这样管理起
2013-03-26 10:33:34
407
转载 在Qt中使用ActiveX控件
Qt的windows商业版本提供了ActiveQt这个framework,使用这个组件我们可以在Qt中使用ActiveX控件,并且也开发基于Qt的ActiveX控件。ActiveQt包含了两个组件QAxContainer和QAxServer。l QAxContainer允许我们使用COM对象,并且可以将将ActiveX控件嵌入到Qt程序中去。l QAxSer
2013-03-26 10:27:26
666
转载 Windows 环境搭建Apache+Tomcat整合教程
一、系统约定环境软件下载后存放位置:X:\Server_Tools环境软件安装位置:X:\Server_CoreJDK安装位置:X:\Server_Core\JDKMySQL安装位置:X:\Server_Core\MySQLTomcat安装位置:X:\Server_Core\TomcatApache安装位置:X:\Server_Core\apache
2013-03-26 10:05:20
577
转载 如何删除ActiveX控件
1 查看已经安装的ActiveX控件1) 通过IE 浏览器“管理加载项”工具查看已经安装的ActiveX控件,详细信息中可以获取控件对应的GUID和文件完整路径,以下列出各IE版本打开“管理加载项”的方法: IE6、7下打开“管理加载项”:工具 –> Internet选项 –> 程序 –> 管理加载项。 IE8下打开“管理加载项”:工具 –> 管理加载项。2) 通过
2013-03-26 10:03:26
394
转载 在Qt中使用ActiveX控件(使用VS2008开发)
ActiveX控件是Microsoft Windows系统上特有的控件,Qt中提供QAxContainer和QAxServer组件(lib文件)支持ActiveX控件,前者允许我们使用已有的ActiveX控件,后者允许我们使用Qt编写ActiveX控件。本文只讲如何在Qt中使用已有的ActiveX控件。一、ActiveX控件在磁盘的什么地方使用网页下载cab包安装的控件
2013-03-26 09:57:54
408
转载 Qt中添加背景图片的方法
1. QPalette的方法#include #include int main(int argc,char*argv[]){ QApplication app(argc,argv); QFrame *frame =newQFrame; frame->resize(400,70
2013-03-25 15:22:14
382
转载 Javascript小技巧
//自定义的apply,callFunction.prototype.apply = function (obj, argu) { if (obj) obj.constructor.prototype._caller = this; var argus = new Array(); for (var i=0;i argus[i] = "argu[" + i + "]";
2013-03-15 15:20:40
387
转载 Qt程序打包成exe可执行文件图文教程
很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题。现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文件后,就会生成很多小文件,其实原理都一样,只是各自使用的打包工具不能罢了。本文主要介绍在Windows平台如何打包自己的Qt程序,相对比较简单的,这并没有正规软件的向导流程。在Window
2013-03-12 19:23:56
373
原创 OpenCV使用VideoInput库从摄像头捕获视频
OpenCV具有强大的图像处理功能,处理视频也是毫不逊色。只是其自带的HighGUI并非是具有工业强度的模块,不适合最终提供给客户,仅仅是方便程序开发阶段的调试。其中跟视频捕获相关的cvCreateCameraCapture或cvCaptureFromCAM函数可以方便的从摄像头捕获视频,但这两个函数在Windows中都是由较为低效的VFW机制实现的,不适合在最终产品中使用。在Window
2013-03-12 13:36:13
700
转载 ActiveX控件制作与发布,如何将您的C++程序嵌入到浏览器中
本文演示如何将Qt应用程序打包嵌入IE浏览器并发布。1. 例子Qt程序:新建项目,选择Qt Library类型,类名为ClassDemo。新建QtGui类(继承QWidge)类名ClassGui,在ClassGui的ui中添加QLabel或者QPushButton。在ClassDemo中添加ClassGui类型的成员变量指针,添加一个public成员函数GetWidget,
2013-03-11 12:12:27
422
转载 发布Activex控件
1、如果需要创建cab文件,首先需要Cabarc或者Makecab,它们随着Cabinet SDK的安装就有了,Cabinet SDK的下载地址是http://msdn.microsoft.com/workshop/management/cab/cabdl.asppowered by 25175.netCabarc可以创建、查看或者解出cab里面的文件,而Makecab则只可以用来创建cab文
2013-03-11 12:11:00
326
转载 在C#中使用C++编写的类
现在在Windows下的应用程序开发,VS.Net占据了绝大多数的份额。因此很多以前搞VC++开发的人都转向用更强大的VS.Net。在这种情况下,有很多开发人员就面临了如何在C#中使用C++开发好的类的问题。下面就用一个完整的实例来详细说明怎样用托管C++封装一个C++类以提供给C#使用。 比如,现在有一个工程名为NativeCppDll的由C++编写的DLL,里面输出了一个CPerso
2013-02-05 14:05:33
940
原创 TextOut使用
一、TextOut()函数的基本用法TextOut()函数既不处理回车符、TAB键等,也不自动回行,以指定的位置作基准点,在其附近显示,默认时基准点是这一行字的左上角。要知道当前文字的对齐方式,可以用GetTextAlign()函数,本章并不讲解这个函数,而讲解与之相对的SetTextAlign()函数。LRESULT CALLBACK WndProc(HWND hWnd, UINT
2013-01-29 16:35:19
1995
原创 HDC字体变换
一、GetDC()函数与BeginPaint()函数的区别在前面章节中说过,设备文本句柄的方法也可用GetDC()函数,网上和有的书上说BeginPaint()函数只能用于WM_PAINT,其它地方一般不用,而GetDC()函数不能用在WM_PAINT下,其它地方可以用。关于这一点,小雅将通过一个例子来说明,这个例子是在指定位置显示一行文字,用DrawText()可以实现,但这儿用Text
2013-01-29 16:34:18
898
原创 HDC画图
画笔和画刷是作图的基础,本章介绍的是静态的描画,下一章介绍用鼠标动态地作画。一、画笔的种类和使用方法画笔的使用和上一章的字体类似,首先用CreatePen()函数创建一个画笔对象,然后与设备文本绑定,同时得到旧的画笔。用完后删除新画笔,并且恢复旧画笔。画笔的种类有7种,参照下表及下面的例子。值说明PS_SOLID实线PS_DASH
2013-01-29 16:32:36
2361
转载 C语言--结构体中的指针
今天来讨论一下C中的内存管理。记得上周在饭桌上和同事讨论C语言的崛起时,讲到了内存管理方面我说所有指针使用前都必须初始化,结构体中的成员指针也是一样有人反驳说,不是吧,以前做二叉树算法时,他的左右孩子指针使用时难道有初始化吗那时我不知怎么的想不出理由,虽然我还是坚信要初始化的过了几天这位同事说他试了一下,结构体中的成员指针不经过初始化是可以用(左子树和右子树指针)那
2012-12-21 09:37:33
246
转载 U-Boot启动过程完全分析
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能Ø 硬件设备初始化Ø 加载U-Boot第二阶段代码到RAM空间Ø 设置好栈Ø 跳转到第二阶段代码入口 (2)第二阶段的功能Ø 初始化本阶段使用的硬件设备Ø 检测系统内存映射Ø 将内核从Flash读取到RAM
2012-12-11 10:58:14
237
转载 在at91rm9200上移植u-boot1.0.0
1. 阅读at91rm9200 官方文档有关“引导程序”的章节对at91rm9200的启动流程有个大概的了解。at91rm9200引导流程图Device Setup|Boot SPI DataFlash Boot --> Download from DataFlash --> run|TWI EEPROM Boot --> Download from
2012-12-11 10:55:39
285
转载 使用Protues仿真Max7129
引子在Nios II上调了好几天的I2C,PCF8563都没有被正常驱动,很是伤感。干脆先用51驱动试试。首先要解决的便是显示问题,用Max7129来驱动七段数码管。仿真环境硬件部分:Proteus 7.5 SP3软件部分:Keil uVision4Proteus仿真图图1 Proteus仿真图Keil工程图2 Keil工程源代码main.c
2012-12-06 18:44:07
405
转载 GNU的编译器和开发工具
GNU提供的编译工具包括汇编器as、C编译器gcc、C++编译器g++、连接器ld和二进制转换工具objcopy。基于ARM平台的工具分别为arm-linux-as、arm-linux-gcc、arm-linux-g++、arm-linux-ld和arm-linux-objcopy。GNU的所有开发工具都可以从www.gnu.org下载,基于ARM的工具可从www.uclinux.org获
2012-12-06 18:42:59
352
转载 网络编程(1)--TCP/UDP
TCP编程 按照前面的介绍,网络通讯的方式有TCP和UDP两种,其中TCP方式的网络通讯是指在通讯的过程中保持连接,有点类似于打电话,只需要拨打一次号码(建立一次网络连接),就可以多次通话(多次传输数据)。这样方式在实际的网络编程中,由于传输可靠,类似于打电话,如果甲给乙打电话,乙说没有听清楚让甲重复一遍,直到乙听清楚为止,实际的网络传输也是这样,如果发送的一方发送的数据接
2012-11-05 09:51:04
405
转载 网络编程基础(1)——TCP与UDP编程
TCP编程 按照前面的介绍,网络通讯的方式有TCP和UDP两种,其中TCP方式的网络通讯是指在通讯的过程中保持连接,有点类似于打电话,只需要拨打一次号码(建立一次网络连接),就可以多次通话(多次传输数据)。这样方式在实际的网络编程中,由于传输可靠,类似于打电话,如果甲给乙打电话,乙说没有听清楚让甲重复一遍,直到乙听清楚为止,实际的网络传输也是这样,如果发送的一方发送的数据接
2012-11-05 09:50:09
115
原创 (一)使用Qt Model/View
1、利用 Qt 的模型 / 视图架构,我们可以只从模型中获取实际在视图中显示所需要的数据。这样在处理非常大的数据集的时候,可以更加快速,而不至于降低性能。通过把一个模型注册到两个或多个视图,就可以让用户使用不同的方式查看数据以及和数据交互。Qt 对于多个视图会自动保持同步,从而使对一个视图的改变会影响到全部视图。 2、模型/ 视图架构的另外一个好处是:如果决定改变底层数据集
2012-10-24 15:08:31
515
转载 Qt 模型 视图 代理(2)
介绍Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系。这种结构带来的功能上的分离给了开发人员更大的弹性来定制数据项的表示,它也提供一个标准的model接口,使得更多的数据源可以被这些item view使用。这里对model/view的结构进行了描述,结构中的每个组件都进行了解释,给出了一些例子说明了提供的这些类如何使用。Model
2012-10-09 17:55:03
763
转载 Qt 模型 视图 代理的应用
Qt的模型/视图编程方法(model/view programming)2012年03月18日 00:18:06由于最近做的一个程序需要用一个视图显示所定义的数据,翻了下Qt的widget,有QTreeWidget,QTableWidget,QListWidget。但是这些widget内部包含了存储这些数据的container,也就是说用户产生的数据为了能够以列表或者树目录的形式显示出来,必须
2012-10-09 17:48:10
722
原创 图像傅里叶变换的物理意义
1、为什么要进行傅里叶变换,其物理意义是什么?傅立叶变换是数字信号处理领域一种很重要的算法。要知道傅立叶变换算法的意义,首先要了解傅立叶原理的意义。傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率、振幅和相位。和傅立叶变换算法对应的是反傅立叶变换算法。
2012-08-14 16:29:19
474
转载 OpenCV中的混合高斯算法原理
An Improved Adaptive Background Mixture Model for Real-time Tracking with Shadow Detection; P.KaewTraKualPong,R.Bowden; In Proc. 2nd European Workshop on Advanced Video Based Surveillance Systems,AVB
2012-08-14 11:19:08
768
转载 CUDA简介
随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像渲染和计算以外的目的(例如这里提到的通用并行计算)。CUDA即Compute Unified Device Architecture,是NVidia利用GPU平台进行通用并行计算的一种架构,它包含了CUDA指令集架
2012-08-14 10:53:56
340
转载 PN学习
PN学习即PN learning, P指代Positive Constraint,也称之为P-expert或者growing event,N指代Negative Constraint,也称之为N-expert或者pruning event。P-expert的作用是发现目标的新的外观(形变),并以此来增加正样本的数量,从而使得检测模块更具鲁棒性;N-expert的作用是生成负的训练样本。N-
2012-08-14 10:47:14
341
原创 opencv中mat,cvmat,Iplimage结构体定义以及格式互相转换
opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,opencv对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。在opencv2.0之前,opencv是完全用C实现的,但是,IplIm
2012-08-13 14:56:47
865
原创 YUV详解
YUV开放分类:程序编辑词条分享YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属於PAL)。编辑摘要目录1 概述2 优点作用3 公式4 采样格式5 各种YUV格式YUV -概述YUV在现代彩色电视系统中,通常采用三管彩色摄影机或彩色CCD摄影机进行取像,然后把取得的彩色图像信号经分色、分别放大校正后得到
2012-08-13 14:35:57
687
转载 SIFT算法分析
特征提取在CV(computervision)领域非常重要。SIFT是非常出名的特征提取算法,它来自论文IJCV'04的“Distinctive imagefeatures from scale-invariantkeypoints”,在scholar.google.com上查到的引用次数一万多次,很高了!我准备在这个帖子里,根据这篇论文和SIFT算法的一个开源实现,详细描述SIFT算法。本文
2012-08-10 10:57:33
771
原创 LBP算法分析
LBP是一种简单,有效的纹理分类的特征提取算法。主要的论文是"Multiresolution gray-scale androtation invariant texture classification with local binarypatterns", pami, vol 24, no.7, July 2002。LBP就是"local binarypattern"的缩写。从纹理
2012-08-10 10:42:30
1220
原创 Surf——算法原理
Surf算法是对Sift算法的一种改进,主要是在算法的执行效率上,比Sift算法来讲运行更快!1、算法原理;2、源码简析;3、OpenCV中Demo分析;4、一些关于Surf算法的剖析。Surf算法原理:参考资料:Surf算法论文及实现源码作为尺度不变特征变换算法(Sift算法)的加速版,Surf算法在适中的条件下完成两幅图像中物体的匹配基本实现了实时处理,其快速的基础实际上只有一
2012-08-09 10:03:57
11510
8051系列单片机c程序设计完全手册\嵌入式系统的知识体系、学习误区及学习建议 (苏州大学 王宜怀)-Wangyihuai的博客-与非网.pdf
2009-06-17
OCM12864系列图形点阵液晶显示模块使用说明书\OCM12864系列图形点阵液晶显示模块使用说明书.pdf
2009-06-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人