clc;
clear all;
%显示并播放视频
filename='bird_brief_video.avi';%将视频作为结构体读取
info=VideoReader(filename);%获得视频信息
zhen=info.NumberOfFrames;%读取帧数,总共38帧
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%变量设置
cell=zeros(9,9);%检测元 %mean(cell(:))表示矩阵元素平均值%sum(sum(cell))所有元素求和
cell_x=68;cell_y=255;
diff_R=13; diff_G=2; diff_B=3; % 设置红、绿、蓝三种颜色提取阈值(越大越严格)
BIGGER=zeros(360,642);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%逐帧操作
for i=1:23
%figure(i);
frame=read(info,i);%显示每一帧,播放
gray=rgb2gray(frame);
BAW = im2bw(frame,0.1);%二值化处理
R=frame(:,:,1); G=frame(:,:,2); B=frame(:,:,3);%取出RGB
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
XYR=((R-G)>diff_R&(R-B)>diff_R); % 隐藏红色
XYG=((G-R)>diff_G&(G-B)>diff_G); % 隐藏绿色
XYB=((B-R)>diff_B&(B-G)>diff_B); % 隐藏蓝色
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%寻找三色分量均大于210的区域-白色
%利用RGB做阈值分割
for k=1:360%60:270
for j=1:642%20:420
if(R(k,j)>215&&G(k,j)>200&&G(k,j)<240&&B(k,j)>190&&B(k,j)<240)
BIGGER(k,j)=0;
else
BIGGER(k,j)=1;
end
end
end
bigXY=logical(BIGGER);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%获得处理后的图像
frame_ALL=frame;
ALL_R=frame(:,:,1); ALL_G=frame(:,:,2); ALL_B=frame(:,:,3);
XY=~(~(XYR+XYG+XYB+bigXY));
Mask=BAW(XY); % 掩膜
ALL_R(XY)=Mask; ALL_G(XY)=Mask; ALL_B(XY)=Mask; % 使得非RGB色区域变色
frame_ALL(:,:,1)=ALL_R; frame_ALL(:,:,2)=ALL_G; frame_ALL(:,:,3)=ALL_B;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%利用frame_ALL查找小鸟拥有的白色区域
%对所在的XY求和,白色区域为0
%利用标志位跳出多重循环
XY_dou=double(XY);
flag_sum=0;
for j=cell_y-50:cell_y+60%0-642列28->315+120=435
for k=cell_x-30:cell_x+75%0-360行68->189+80=270
s=sum(sum(XY_dou(k:k+9,j:j+9)));
if s<75
flag_sum=1;
cell_x=k;%更新起点位置
cell_y=j;
% rect = [j,k,120,80];
rect = [j-55,k-25,120,80];
break;
end
end
if flag_sum==1
break;
end
end
% rect = [cell_x,cell_y,120,80];%框【左上坐标xy,大小右下】
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%显示图片和框
imshow(~XY_dou);%显示二值化图像
% imshow(frame);
% rectangle('Position', rect, 'EdgeColor', 'r', 'LineWidth', 3);%显示框
text(5,18,num2str(i),'Color','y','FontWeight','bold','FontSize',18);%显示参考图像名称
% pause;
end
get(info);%在命令行显示视频信息
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
第 73 章 基于matlab的目标检测系统.zip (11个子文件)
第 73 章 基于matlab的目标检测系统
computeColor.m 2KB
makeColorwheel.m 984B
0识别结果图1.png 64KB
bw.m 652B
yuzhi.m 3KB
main.m 1KB
0识别结果图.png 64KB
get_iter_th.m 473B
color.m 1KB
final.m 2KB
bird_brief_video.avi 690KB
共 11 条
- 1
资源评论
Matlab程序设计
- 粉丝: 15
- 资源: 105
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功