【项目总结(一)】---视频摘要matlab的程序实现几个问题的总结

Q1:matlab视频播放时,怎么将所有视频转换成matlab可以播放的视频?

A1:

1.matalb中函数aviread对读取avi的视频比较苛刻,aviread支持无压缩格式的avi和 'Cinepak'格式的avi文件和'Indeo5'压缩格式的avi压缩的AVI格式的视频,而且不是所有的格式的avi都能读取。

2:解决方法:下载WinAVI 9.0软件,将视频转换为AVI格式,编码器选择编码格式ZJMedia Uncompress RGB24,转换后即可。

3.我的相机拍摄的视频格式为MJPEG压缩格式的Avi文件,所以不能直接播放。

4.还有另外的方法:下载mmread工具包或者VideoIO 工具箱或者使用交互式matlab Movie播放器,这三种方法更通用,可以后面尝试用下。参见《matlab图像/视频处理应用及实例》P60。

5.使用函数VideoReader显示:“Undefined function or method 'VideoReader' for input arguments of type 'char'.”原因:没有下载VideoIO工具箱

 6. 知识点补充:

 (1) AVI格式:AVI(Audio Video Interleave):比较早的AVI是Microsoft开发的。其含义是Audio Video Interactive,就是把视频和音频编码混合在一起储存。AVI也是最长寿的格式,已存在10余年了,虽然发布过改版(V2.0于1996年发布),但已显老态。AVI格式上限制比较多,只能有一个视频轨道和一个音频轨道(现在有非标准插件可加入最多两个音频轨道),还可以有一些附加轨道,如文字等。AVI格式不提供任何控制功能。

   ( 2)Truecolor Image:真彩色格式的图像。假设图像由M行N列的像素构成,每个像素点上的值由R,G,B三个颜色通道构成,每个颜色通道的取值为0~255的整数。因此,真彩色格式的图像的存储空间为M * N *3 的三维矩阵,这个三维矩阵中每个元素的取值为0~255的整数。

    (3)Indexed Image:索引图像。图像实际上只有限种类的颜色,种类数量为m。假设图像仍然由M行N列的像素构成。实际上这个图像就可以看做由m种色彩,总数M*N的小瓷砖拼成的。为了描述这幅图像,我们在M*N个点上,定每个点的值为索引号,索引号的范围是0~m,表示每个像素点只能取m种颜色的一种。另外,为了使索引下标有颜色上的意义,我们同时构造出一张颜色的索引表,这个表的存储空间为m*3(每个M对应相应的RGB三种分量),在每个索引号(每行)对应不同的R,G,B颜色空间。这样我们就能跟据每个点的值查找出该点的颜色,从而描述出一幅图像了。 因此一幅索引图的存储空间为M*N+m*3。

 

  Q 2:"中兴产学研视频摘要项目演示程序"2012.8.10中的基于帧差欧式距离的算法如何理解,算法流程图如何表示?(论文要求严格画图)

【项目总结(一)】---视频摘要matlab的程序实现几个问题的总结_第1张图片

                  

备注:

  1.   三个相邻帧的帧差欧式距离求解过程:

  先将每个真彩色图像转换成灰度图像,使用函数rgb2gray,同时每个像素点的灰度值转换为浮点型

  然后将各个图像的灰度矩阵转换为列矩阵,用N+2帧图像的灰度值与N+1帧图像的灰度值的差减去N+1帧图像的灰度值与N帧图像的灰度值的差,记为diff

  最后,使用de = sqrt(sum(diff.*diff)),sum求和每个矩阵列。

 其实也可以用相邻两帧像素灰度差矩阵diff1 ,diff2直接用欧式距离公式直接求解,算的结果跟上面的方法一样。

思考:欧式距离越大,说明帧间的差异越大,越大越可能出现关键帧

 2.关键帧的选取为什么用极值点选取,还要进行极值中间值的比较进行筛选?

 算法中求解极值就是找到帧间变化比较大的图像,同时选出大于中间均值的极值点,这样可以筛选出更加关键的关键帧,我们也可以进行二次筛选,当然筛选的越严格,关键帧越关键,但是容易忽略更多的有用的关键帧。筛选的尺度还因根据视频的内容而有所改变。形成自适应的筛选标准。镜头变化多,筛选就松点。

镜头变化少,筛选就严一点。

3.几个图的含义

 figure1:横坐标显示的是84个帧的坐标,纵坐标显示的是每一帧对应的帧差欧式距离值,最后绘制的图显示的是每个帧对应的帧差欧式距离,r+标出极大值点的位置(road视频中有13个极大值,不在曲线的顶点的原因是极大值点的只能取整数)

 figure2:横坐标显示的是84个帧的坐标,纵坐标显示的是每一帧对应的帧差欧式距离值,最后绘制的图显示的是每个帧对应的帧差欧式距离,r+标出经过筛选的极大值点的位置(road视频中从13个极大值点选出最大的5个)

 

 

你可能感兴趣的:(【项目总结(一)】---视频摘要matlab的程序实现几个问题的总结)