|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
( Q+ ~$ b: P/ h6 w% r9 H+ Y( C$ D8 D使用范围:# C0 F+ L! Q0 Y1 x& c: |; B, T
可以用于视频处理。在硬件实现视频处理之前,首先使用MATLAB对
' |, `% J/ w+ g3 U8 p9 y7 k9 }# J. R算法进行仿真。这样可以及时的发现问题,避免不必要的开支。
- b. A) T) H! S7 B: o' U
( t3 {& P& ]) [. w9 m( K/ P( x%}
3 t, [( Z8 V0 ]1 i$ o k ]" H P%清除所有变量+ }* H t& V) V9 r' E
clear all; close all; clc;6 s: f, v" B _% t" K+ B
%读取视频文件
2 X) F) U4 `. f7 K* svideo=VideoReader('test1.avi');% }) A1 F8 b" D! H6 ^6 q
% 读取视频中所有数据) [6 p! ]/ j$ ?& l6 _1 F# b
vidFrames = read(video);! t, G# \2 U$ H" B
%读取视频的帧的个数& N# x0 e; v# N% n; A
numFrames = get(video, 'numberOfFrames');%获得总的视频帧的个数$ i: q. J; {, f k. F2 o. I8 v- y! }
%从视频帧数据中创建一个MATLAB视频播放结构体
/ A7 t6 Z7 i" E2 U7 y- y for k = 1 : numFrames
2 {* v: G+ G5 S# N, I$ G8 H mov(k).cdata = vidFrames(:,:,:,k);
* E# y8 Y+ d& @: \ mov(k).colormap = [];% A8 z% C+ C' m$ c* f# u7 s
end
6 O% D% M1 ^4 D! Q, V hf=figure;%创建图像( k& O5 y2 R f# b
%基于视频的宽度和高度重建图片( {, C) U$ W! D8 }
set(hf, 'position', [150 150 video.Width video.Height])3 W" p3 ^' R. _8 M, Y
%按照视频帧速率重播视频* B# T* O9 u8 u' l7 V7 K" `
movie(hf, mov, 1, video.FrameRate);* i& `, y$ g. |+ L1 a* Q
1 I$ M2 a! r9 h1 G! r
实验结果:(实际测试通过)
2 M8 G9 t6 K& I m% m2 @: g0 T1 z# [8 T4 B) K8 ~/ ]
0 r4 T1 D$ V3 k& z+ J3 J% @6 A3 ]
8 r. |' o# J" \* S7 p9 h7 A" |* U2 k2 H
& k/ E2 i% C, @ e
" g5 a0 J! T) Q9 `6 H& u. X4 J" o, @/ k# i4 t
6 h" ?: W0 e- |% |, r |
|