在 Matlab 中,可以使用许多不同的算法来实现运动追踪。以下是一个使用简单的基于帧差法的算法的示例代码:
``` % 读入视频文件 video = VideoReader('video.avi');
% 获取视频的帧数 numFrames = video.NumberOfFrames;
% 获取第一帧的图像 frame1 = read(video, 1);
% 将第一帧转换为灰度图像 grayFrame1 = rgb2gray(frame1);
% 在第一帧上选择追踪区域 figure; imshow(frame1); title('请在图像上选择追踪区域'); rect = getrect;
% 初始化追踪区域的位置 x = rect(1); y = rect(2); w = rect(3); h = rect(4);
% 循环遍历所有帧 for i = 2 : numFrames
% 获取当前帧
frame = read(video, i);
% 将当前帧转换为灰度图像
grayFrame = rgb2gray(frame);
% 计算两帧之间的差异
diffFrame = abs(double(grayFrame) - doubl