一、前言
此示例演示如何在给定对象的参考图像的情况下检测杂乱场景中的特定对象。
此示例提供了一种基于查找参考和目标图像之间的点对应关系来检测特定对象的算法。它可以检测物体,尽管刻度变化或面内旋转。它对少量的面外旋转和遮挡也很鲁棒。这种对象检测方法最适合表现出非重复纹理图案的对象,这些纹理图案会产生独特的特征匹配。此技术不太可能适用于颜色均匀的对象或包含重复图案的对象。请注意,此算法旨在检测特定对象,例如参考图像中的大象,而不是任何大象。要检测特定类别的对象(如人或人脸)。
二、步骤
第 1 步:读取图像
读取包含感兴趣对象的参考图像。
读取包含杂乱场景的目标图像。
步骤 2:检测特征点
检测两个图像中的特征点。
可视化在目标图像中找到的最强特征点。
步骤 3:提取特征描述符
提取两个图像中感兴趣点的特征描述符。
第 4 步:查找推定的点匹配项
使用描述符匹配要素。显示假定匹配的特征。
步骤 5:使用假定匹配在场景中定位对象
计算与匹配点相关的变换,同时消除异常值。这种转换允许我们定位场景中的对象。
显示删除异常值的匹配点对
获取参考图像的边界多边形。将多边形转换为目标图像的坐标系。转换后的多边形指示对象在场景中的位置。显示检测到的对象。
步骤 6:检测另一个对象
使用与以前相同的步骤检测第二个对象。
读取包含第二个感兴趣对象的图像。
检测和可视化特征点。
提取特征描述符。匹配功能,显示假定匹配的特征。
估计几何变换并消除异常值。
显示两个对象。
三、程序
使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)
程序下载:基于matlab使用点要素匹配在杂乱场景中检测对象资源-CSDN文库