• 大小: 18KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: Matlab
  • 标签: matlab  

资源简介

matlab实现视频中动态目标跟踪程序及注释-trackingzhushi.m
本人是新手,在网上下了基于matlab的视频动态跟踪程序,现把程序分享下。希望高手指教下该程序用到了什么算法,如何实现视频跟踪的,谢谢了。。。

资源截图

代码片段和文件信息

                 %%%%%%%%%%   Directions:  % 表示对程序语句的注释; %%   表示对程序注释语句的注释的注释. %%%%%%%%%%
                                        

function d = tracking(video)                        % tracking函数定义.
if ischar(video)                                    % Determine whether item is character array,tf = ischar(A) returns logical 1 (true).
                                                    % if A is a character array and logical 0 (false) otherwise.
                                                    % 判断判断video是否为一个字符数组。是返回1,否则返回0.
                                                    
                                                    
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  读取所需视频信息  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    % Load the video from an avi file.
    %%从一个avi文件中读取视频文件获取相关视频文件信息.
    
    avi = aviread(video);                           % mov = aviread(filename)  reads the AVI movie filename into the MATLAB movie structure mov。
                                                    % 该函数将avi中的视频信息读入到MATLAB电影缓存中。
    pixels = double(cat(4avi(1:2:end).cdata))/255; % double(x) returns the double-precision value for X. If X is already a double-precision
                                                    % array double has no effect.如果X是一个非双精度数值则该函数返回一个双精度值,否则该函数无任何作用.
                                                    % cat:Concatenate arrays along specified dimension沿具体指定维将avi视频数据分块为由4个矩阵元素组成的矩阵
                                                    
                                                    
                                                    
    clear avi                                       % clear name :removes just the M-file or MEX-file function or variable name from the workspace.
                                                    % 清除工作空间缓存。

else
    
    % Compile the pixel data into a single array
    %% 把像素数据编译成为一个单独的4维数组
    
    pixels = double(cat(4video{1:2:end}))/255;     % 像素值pixels定义为矩阵。
    clear video                                     % clear keyword: clears the items indicated by keyword.按关键字video清除各项目
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   图像转化   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Convert to RGB to GRAY SCALE image.
% % 把RGB转换为灰度图像

nframes = size(pixels4);                           % m = size(Xdim) :returns the size of the dimension of X specified by scalar dim.
                                                    % 下标dim指示pixdls数组的维数值dim大小,即将dim赋值给nframes。 
                                                    
for f = 1:nframes                                   % 视频图像帧循环变量f

%     F = getframe(gcf);                            %%  F = getframe(gcf):gets a frame from the figure or axes identified by handle h.
                                                    %% 从由h确定的图片或者轴线获得一帧。
%     [xmap]=frame2im(F);                          %% [XMap] =

评论

共有 条评论