% 确定目标(篮球)的横纵坐标,以及球的半径
function [cc,cr,radius,flag]=extractball(Imwork,Imback,fig1,fig2,fig3,fig5,index)
cc = 0;
cr = 0;
radius=0;
flag=0;
[MR,MC,Dim] = size(Imback);
% 与背景相减得到相素不同的点
fore = zeros(MR,MC);
fore = (abs(Imwork(:,:,1)-Imback(:,:,1)) > 10) ...
| (abs(Imwork(:,:,2) - Imback(:,:,2)) > 10) ...
| (abs(Imwork(:,:,3) - Imback(:,:,3)) > 10);
if fig5 > 0
figure(fig5)
clf
imshow(fore)
end
% 腐蚀除去噪声
foremm = bwmorph(fore,'erode',2);
if fig2 > 0
figure(fig2)
clf
imshow(foremm)
end
% 确定目标外框,得到面积
labeled = bwlabel(foremm,4);
stats = regionprops(labeled,['basic']);
[N,W] = size(stats);
if N < 1
return
end
% 用冒泡法(从大到小)排序
id = zeros(N);
for i = 1 : N
id(i) = i;
end
for i = 1 : N-1
for j = i+1 : N
if stats(i).Area < stats(j).Area
tmp = stats(i);
stats(i) = stats(j);
stats(j) = tmp;
tmp = id(i);
id(i) = id(j);
id(j) = tmp;
end
end
end
% 确定一个最大区域,即面积
if stats(1).Area < 100
return
end
selected = (labeled==id(1));
if fig3 > 0
figure(fig3)
clf
imshow(selected)
end
% 确定目标的质心和半径
centroid = stats(1).Centroid;
radius = sqrt(stats(1).Area/pi);
cc = centroid(1);
cr = centroid(2);
flag = 1;
return
其实吧3
- 粉丝: 398
- 资源: 54
最新资源
- 使用koa+mysql创建一个web工程 (没有页面显示,只有后台)-koa-msyql.zip
- 用struts2,spring,hibernate框架,搭建在线考试系统 网站支持(1)老师创建题库,创建题目,查看题目对题目进
- 整合文件 pdf版本(动图不动)
- SpringBoot 0基础入门到进阶教程,从第一个项目的创建,到接口的开发,请求、响应的规范;以及
- PPServ是一个Web开发集成环境,可以使用Apache,PHP,Mysql创建Web应用 -PPServ.zip
- 利用 express-generator 创建的 express 项目,包括数据库自执行脚本、express 与 mysql
- 基于C++ OpenGL 的3D虚拟场景构建之城镇漫游
- 基于51单片机的电子琴设计
- python烟花代码 (71).zip
- 斯坦福最新2017年cs231n课程ppt-11
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈