Matlab——目标检测篮球和网球

一、课题方案设计
程序框图
1.将图像转换到HSV空间。球体和阴影的饱和度方面具有较大的差异,因此可借助饱和度来达到去除各球的阴影部分的干扰;
2.对图像进行二值化,和依据饱和度进行阈值分割,通过形态学运算形成二值化模板;
3.根据圆形度找到篮球和网球;
4.根据半径分别出篮球和网球。
原图

二、具体实现
1.方法简述
将图像转换到HSV空间。球体和阴影的饱和度方面具有较大的差异,因此可借助饱和度来达到去除各球的阴影部分的干扰;对图像进行二值化,和依据饱和度进行阈值分割,通过形态学运算形成二值化模板。
(1)预处理

clc;clear;close all
image=imread("qiu.png");%读取图像
[high,width,c]=size(image);banjing=zeros(1,3);%获取图像长宽及创建存储半径的数组
BW=1-im2bw(image,240/255);
sigma=0.1;
hsvimage = rgb2hsv(image);%转换到HSV空间处理
s = hsvimage(:,:,2);
BW(s<65/256 | s>245/256) = 0;%对饱和度设定阈值,去除阴影的影像
BW=bwareaopen(BW,500);%进行形态学开运算
BW=imclose(BW,strel('disk',5));%闭运算
BW=imfill(BW,'hole'); %填充图像区域及孔
figure,imshow(BW),title('阈值分割后二值化模板');%显示二值化模板
[B,L]=bwboundaries(BW); %获取边缘
figure,imshow(image),title('提取目标');
STATS=regionprops(L,'Area','Centroid','BoundingBox');
STATS=regionprops(L,'Area','Centroid','BoundingBox');

在这里插入图片描述在这里插入图片描述(2)找到篮球和网球
a.方法简述
对圆形度、面积和半径设定对应的阈值,找出篮球和网球。
b.程序代码

len=length(STATS);
hold on
% 根据圆形度和半径判断篮球和网球
for i=1:len
    R=STATS(i).Area/(STATS(i).BoundingBox(3)*STATS(i).BoundingBox(4));
    boundary=fliplr(B{i});
    everylen=length(boundary);
    F=4*pi*STATS(i).Area/(everylen^2);
    dis=pdist2(STATS(i).Centroid,boundary,'euclidean');
    miu=sum(dis)/everylen;
    C=miu/sigma;
    if R>pi/4-0.1 && R<pi/4+0.1 && F>1 && C>10
        rectangle('Position',[STATS(i).Centroid(1)-miu,STATS(i).Centroid(2)-miu,2*miu,2*miu],'Curvature',[1,1],'EdgeColor','r','LineWidth',2);
        banjing(i)=miu;
        plot(STATS(i).Centroid(1),STATS(i).Centroid(2),'r*');
        t(i)=text(STATS(i).Centroid(1)-15,STATS(i).Centroid(2),'网球','Color','red','FontSize',15);
    end
end
[M,I]=max(banjing);
plot(STATS(I).Centroid(1),STATS(I).Centroid(2),'g*');
t(I).String='篮球';
t(I).FontSize=30;
t(I).Color='b';
hold off

运行结果三、结果与分析
依据饱和度进行设定阈值分割后,可以有效的排除阴影对后续圆形度、半径的判断的影响。如结果图,我们可以得到与实际球体较为接近的二值化模板,最后的识别结果也与实际较吻合。

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 基于Matlab目标检测是通过使用Matlab中的计算机视觉工具箱实现的。这个工具箱包含了各种图像处理计算机视觉算法,并使得用户更容易实现目标检测目标检测计算机视觉中是一个重要的领域,目的是为了在大型的图像或视频中识别和跟踪特定的目标。通过选择合适的算法和技术,我们可以将目标检测应用到很多实际的问题中,例如人脸识别、车辆检测等领域。 在Matlab中,我们通常使用基于特征的方法来进行目标检测。这些方法包括Haar特征、SIFT特征、HOG特征等。这些特征都是与目标的形状、纹理、颜色等属性有关的图像表示形式,可以用来描述目标的特征,并用来训练和测试分类器。 除了特征之外,我们还需要使用机器学习算法来构建分类器。在Matlab中,我们可以选择支持向量机、决策树、朴素贝叶斯等多种机器学习算法来实现目标检测。这些算法可以提取特征,将训练数据分为不同的类别,并通过类别判定来实现目标检测Matlab还提供了各种检测器的实现,例如Viola-Jones人脸检测器、Faster R-CNN检测器等。这些检测器可以直接从Matlab工具箱中调用,而不需要编写大量的复杂代码。 总之,基于Matlab目标检测可以在较短的时间内实现目标检测,而非要通过编写大量的代码来完成,这在实际应用中具有重要意义。 ### 回答2: 目标检测计算机视觉领域中的一项重要任务,近年来在人工智能的快速发展中,取得了巨大的进展。基于matlab目标检测是一种应用matlab编程语言进行的目标检测方法。该方法利用图像处理和机器学习等技术,在图像中实现物体的识别、定位、分类等操作。 基于matlab目标检测方法有很多种,其中比较常用的包括基于深度学习的目标检测方法,如Faster R-CNN、YOLO、SSD等,以及基于传统的图像处理技术,如Haar-like特征、HOG特征等。 在基于深度学习的目标检测方法中,该方法一般需要对网络进行预训练,然后使用训练好的网络进行目标检测。在进行目标检测时,首先需要对图像进行预处理,然后将其输入到网络中,网络会输出目标的位置和类别。基于传统的图像处理技术,该方法则需要对目标进行特征提取和分类,其中Haar-like特征基于人脸检测著名的Viola-Jones算法,而HOG特征是基于方向梯度直方图的特征。 总之,基于matlab目标检测方法在实现目标检测方面有着很好的性能和应用前景。未来,该方法将在实际生产和服务中得到更广泛的应用。 ### 回答3: 基于Matlab目标检测是使用Matlab软件对图像进行处理,识别和分析以找到感兴趣的目标。 目标检测计算机视觉领域的一个关键问题,它对许多实际问题具有重要意义。Matlab提供了一系列强大的工具和函数,可用于目标检测项目的实现。 首先,图像处理目标检测的关键步骤之一。 Matlab中的图像处理工具箱提供了各种滤波器,增强和分割算法,可用于预处理图像以提高目标检测性能。 其次,Matlab还提供了各种机器学习和深度学习工具箱,其中包括支持向量机(SVM),决策树等分类器,并且还有强大的深度学习框架,如神经网络工具箱和深度学习工具箱等。这些工具可以用于对目标进行自动分类和识别。 总之,在Matlab中实现目标检测的过程包括图像预处理,特征提取和分类,而这些可以通过使用Matlab提供的强大的工具和函数轻松地实现。因此,基于Matlab目标检测在物体识别,医学影像分析,智能交通等领域具有很大的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火球2号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值