Matlab图像处理图像景物动态跟踪

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《图像处理技术》大作业1 作业题目

基于图像的动态景物的监测与跟踪

2 作业数据

(1)短视频背景相同,一个目标运动;

(2)短视频(或5张图片),背景相同,多个目标运动;

(3)验证数据自己提供(彩色、灰度图像不限);

3 作业完成目标

动态目标的定位与跟踪,并用方框提示并给出运动轨迹

能正确检测运动目标;

多个目标的识别率;

4 程序设计

1、界面设计:

2、“打开”按钮功能设计:

打开图片组的第一张图片并在左边显示:

[name,path]=uigetfile('*.jpg;*.bmp;*.png;*.tif;*.gif','Open Image');

file=[path,name]; %读取第一张图片路径

axes(handles.image1); %选择在左窗口显示

x=imread(file); %读取第一张图片

handles.img=x;

guidata(hObject,handles);

imshow(x); %显示第一张图片

global F; %全局变量F

F=name(1:end-5); %F为文件名编号前的字符

global N; %全局变量N

N=7; %N为图片组中图片总数量

3、“播放”按钮功能设计:

读取图片组中所有的图片,并按一定间隔时间显示,形成动画效果:

global F;

global N;

axes(handles.image1); %选择在左窗口显示

for i=1:N %循环读出图片,形成动画效果

f=int2str(i);

I=strcat(F,f,'.jpg');%联接文件名

a=imread(I); %读取图片

imshow(a); %显示图片

axis off %关闭坐标轴

pause(0.8); %每显示一张图片暂停0.8秒

end

4、“目标追踪”按钮功能设计:

读取图片,将图片转成二值图像,利用两张二值图像的异或求得目标,在目标图像中求得目标的边框与质心,利用求得的边框画出目标的位置,利用存储的质心画出目标移动轨迹:

global F;

global N;

x=handles.img;

axes(handles.image2); %选择在右窗口显示

s=size(x); %获取图片大小

A=uint8(zeros(s(1),s(2),1,N));

s=size(A); %获取图片组数组的大小

for i=1:s(4) %循环读取图片

t=int2str(i);

I=strcat( F,t,'.jpg');

a=imread(I); %读取图片

A(:,:,:,i)=rgb2gray(a);%转为灰度图片

end

B=logical(zeros(s(1),s(2),s(3),s(4)));%定义二值矩阵

for f=1:s(4)

imshow(A(:,:,:,f)); %显示图片

level=graythresh(A(:,:,:,f))-30/255; %获取阈值

B(:,:,:,f)=im2bw(A(:,:,:,f),level); %转为二值图像

B(:,:,:,1)=im2bw(A(:,:,:,1),level);

B(:,:,:,f)= xor(B(:,:,:,1),B(:,:,:,f)); %异或求得目标区域

B(:,:,:,1)= xor(B(:,:,:,1),B(:,:,:,1));

B(:,:,:,f)=medfilt2(B(:,:,:,f),[7 7]); %对二值图像中值滤波

L=bwlabel(B(:,:,:,f)); %计算二值图像的连通区域

stas=regionprops(L,'All'); %获取图像连通区信息

t=size(stas); %获取连通区数量

for j=1:t(1)

p(f,j,:)=stas(j).BoundingBox; %存储目标边框

y(f,j,:)=stas(j).Centroid; %存储目标位子(质心)

%画出目标边框

rectangle('Position',p(f,j,:),'LineWidth',2,'LineStyle','--','EdgeColor ','r');

for k=1:f %以小方点画出目标轨迹

rectangle('Position',[y(k,j,1),y(k,j,2),2,2],'LineWidth',2,'EdgeColor', 'b');

end

end

pause(0.8); %每处理一张图片暂停0.8秒

end

5 软件说明

1、图片组中图片数量为7张,为RGB图像,命名时从1~7编号。

2、打开软件后单击“打开”按钮,选中图片组的第一张图片,即可在左边显示

该图片。

3、单击“播放”按钮,可以看到在左边显示图片动画。

4、单击“目标跟踪”按钮,可以看到在右边显示出目标的跟踪效果。

6 效果图

1、初始界面:

单目标跟踪:

2、打开第一张图片:

3、播放图片组动画:

4、目标追踪,定位目标,显示轨迹:

多目标跟踪:

5、打开第一张图片:

6、播放图片组动画:

相关文档
最新文档