展开全部
--------------------------------------------------------------------------
% 基于中位数算法的运动目标检测
% 第1种实现方法
%--------------------------------------------------------------------------
%*******************************读取视频数据********************************
% 调用aviread函数读取视频文件
vid = aviread('WalkingMan.avi')
size(vid(1).cdata) % 查看第1帧的大小,也是每一帧的大小
vid(1).colormap % 查看第1帧的colormap值
%*****************************数据类型的转换********************************
% 把vid的cdata字段的取值转换成一个240×360×3×80的四维数组IM
IM = cat(4,vid.cdata);
size(IM) % 查看IM的大小
[m,n,k,h] = size(IM); % 把IM的大小赋给四个变量
% 把IM转换成一个80行,240×360×3列的矩阵
I = reshape(IM,[m*n*k,h])';
%********************调用median函数求中位数,进行视频图像分割****************
I = median(I); % 求I矩阵中各列元素的中位数
I = reshape(I,[m,n,k]); % 将向量I转成240×360×3的三维数组,得到背景图像
figure; % 新建一个图形窗口
imshow(I); % 显示背景图像
figure; % 新建一个图形窗口
imshow(IM(:,:,:,1) - I); % 显示第1帧中的目标图像
%--------------------------------------------------------------------------
% 基于中位数算法的运动目标检测
% 第1种实现方法
%--------------------------------------------------------------------------
% 调用mmreader函数创建读取视频文件的多媒体阅读对象WalkManObj
WalkManObj = mmreader('WalkingMan.avi');
% 根据多媒体阅读对象WalkManObj,读取视频的各帧图像数据
IM = read(WalkManObj, [1, inf]);
[m,n,k,h] = size(IM); % 把IM的大小赋给四个变量
% 把IM转换成一个80行,240×360×3列的矩阵
I = reshape(IM,[m*n*k,h])';
I = median(I); % 求I矩阵中各列元素的中位数
I = reshape(I,[m,n,k]); % 将向量I转成240×360×3的三维数组,得到背景图像
figure; % 新建一个图形窗口
imshow(I); % 显示背景图像
figure; % 新建一个图形窗口
imshow(IM(:,:,:,1) - I); % 显示第1帧中的目标图像
% 基于中位数算法的运动目标检测
% 第1种实现方法
%--------------------------------------------------------------------------
%*******************************读取视频数据********************************
% 调用aviread函数读取视频文件
vid = aviread('WalkingMan.avi')
size(vid(1).cdata) % 查看第1帧的大小,也是每一帧的大小
vid(1).colormap % 查看第1帧的colormap值
%*****************************数据类型的转换********************************
% 把vid的cdata字段的取值转换成一个240×360×3×80的四维数组IM
IM = cat(4,vid.cdata);
size(IM) % 查看IM的大小
[m,n,k,h] = size(IM); % 把IM的大小赋给四个变量
% 把IM转换成一个80行,240×360×3列的矩阵
I = reshape(IM,[m*n*k,h])';
%********************调用median函数求中位数,进行视频图像分割****************
I = median(I); % 求I矩阵中各列元素的中位数
I = reshape(I,[m,n,k]); % 将向量I转成240×360×3的三维数组,得到背景图像
figure; % 新建一个图形窗口
imshow(I); % 显示背景图像
figure; % 新建一个图形窗口
imshow(IM(:,:,:,1) - I); % 显示第1帧中的目标图像
%--------------------------------------------------------------------------
% 基于中位数算法的运动目标检测
% 第1种实现方法
%--------------------------------------------------------------------------
% 调用mmreader函数创建读取视频文件的多媒体阅读对象WalkManObj
WalkManObj = mmreader('WalkingMan.avi');
% 根据多媒体阅读对象WalkManObj,读取视频的各帧图像数据
IM = read(WalkManObj, [1, inf]);
[m,n,k,h] = size(IM); % 把IM的大小赋给四个变量
% 把IM转换成一个80行,240×360×3列的矩阵
I = reshape(IM,[m*n*k,h])';
I = median(I); % 求I矩阵中各列元素的中位数
I = reshape(I,[m,n,k]); % 将向量I转成240×360×3的三维数组,得到背景图像
figure; % 新建一个图形窗口
imshow(I); % 显示背景图像
figure; % 新建一个图形窗口
imshow(IM(:,:,:,1) - I); % 显示第1帧中的目标图像
上海华然企业咨询
2024-10-28 广告
2024-10-28 广告
作为上海华然企业咨询有限公司的一员,我们关注大模型技术的最新进展。在大模型性能测试方面,我们注重评估其在多个应用场景下的表现,包括知识问答、文档生成、数据分析等。通过严格的测试流程,我们发现国内大模型在部分领域已接近国际先进水平,但在多模态...
点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |