Matlab图像处理图像景物动态跟踪
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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、播放图片组动画: