运动目标检测 高斯混合模型 matlab

因为文章需要实验图,因此求matlab源代码,请高手帮忙。... 因为文章需要实验图,因此求matlab源代码,请高手帮忙。 展开
 我来答
dbb627
2011-09-16 · TA获得超过1.2万个赞
知道大有可为答主
回答量:2127
采纳率:88%
帮助的人:1408万
展开全部
--------------------------------------------------------------------------
% 基于中位数算法的运动目标检测
% 第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 广告
作为上海华然企业咨询有限公司的一员,我们关注大模型技术的最新进展。在大模型性能测试方面,我们注重评估其在多个应用场景下的表现,包括知识问答、文档生成、数据分析等。通过严格的测试流程,我们发现国内大模型在部分领域已接近国际先进水平,但在多模态... 点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式