转战matlab了。步骤说一下:
目标图obj 含目标的场景图scene

  1. 载入图像
  2. 分别检测SURF特征点
  3. 分别提取SURF描述子,即特征向量
  4. 用两个特征相互匹配
  5. 利用匹配结果计算两者之间的transform关系tform
  6. 根据obj位置与变换关系tform,在scene图上框出obj

代码,来自matlab,http://localhost:9090/vision/gs/object-detection-and-tracking.html#btt5qyu

%step1:读取图片
%读取object图片
boxImage = imread('stapleRemover.jpg');
%读取场景图片
sceneImage = imread('clutteredDesk.jpg');%step2:检测特征点
boxPoints = detectSURFFeatures(boxImage);
scenePoints = detectSURFFeatures(sceneImage);% figure; imshow(boxImage);
% title('Box Image中最强的100个feature points');
% hold on;
% plot(boxPoints.selectStrongest(100));%step3 extract feature descriptors  提取出特征的描述子
%使用extractFeatures(),具体的feature类型是通过boxPoints位置的参数指定的,这里是SURF
%烂设计,为什么extractFeatures输入了boxPoints后,还要返回boxPoints?
[boxFeatures, boxPoints] = extractFeatures(boxImage, boxPoints);
[sceneFeatures, scenePoints] = extractFeatures(sceneImage, scenePoints);%step4 find putative point matches
%Match the features using their descriptors.
boxPairs = matchFeatures(boxFeatures, sceneFeatures);
%Display putatively matched features.
matchedBoxPoints = boxPoints(boxPairs(:,1), :);
matchedScenePoints = scenePoints(boxPairs(:,2),:);
figure;
showMatchedFeatures(boxImage, sceneImage, matchedBoxPoints, matchedScenePoints, 'montage');
title('Putatively Matched Points (Including Outliers)');%step5 locate the Object in the Scene Using Putative Matches
[tform, inlierBoxPoints, inlierScenePoints] = ...estimateGeometricTransform(matchedBoxPoints, matchedScenePoints, 'affine');
figure;
showMatchedFeatures(boxImage, sceneImage, inlierBoxPoints, ...inlierScenePoints, 'montage');
title('Matched Points (Inliers Only)');%Get the bounding polygon of the reference image.
boxPolygon = [1, 1;... % top-leftsize(boxImage,2), 1; ... % top-rightsize(boxImage, 2), size(boxImage, 1); ... % bottom-right1, size(boxImage, 1); ... % bottom-left1, 1]; % top-left again to close the polygon% transform the polygon into the coordinate system of the target image
%将多边形变换到目标图片上,变换的结果表示了物体的位置
newBoxPolygon = transformPointsForward(tform, boxPolygon);%display the detected object 显示被检测到的物体
figure; imshow(sceneImage);
hold on;
line(newBoxPolygon(:, 1), newBoxPolygon(:, 2), 'Color', 'y');
title('Detected Box');

转载于:https://www.cnblogs.com/zjutzz/p/5269876.html

基于SURF特征的目标检测相关推荐

  1. 【CVPR 2021】基于解耦特征的目标检测知识蒸馏:Distilling Object Detectors via Decoupled Features

    [CVPR 2021]基于解耦特征的目标检测知识蒸馏:Distilling Object Detectors via Decoupled Features 论文地址: 主要问题: 主要思路: 具体实现 ...

  2. 目标检测(三)传统目标检测与识别的特征提取——基于HOG特征的目标检测原理

    目录 简介 提取HOG特征的步骤 1.预处理获取要计算其特征的输入图像 2.计算图像的梯度 3.计算8×8细胞梯度直方图 4.直方图归一化 5.计算HOG特征向量 Opencv利用HOG特征实现行人检 ...

  3. 学习笔记之——基于深度学习的目标检测算法

    国庆假期闲来无事~又正好打算入门基于深度学习的视觉检测领域,就利用这个时间来写一份学习的博文~本博文主要是本人的学习笔记与调研报告(不涉及商业用途),博文的部分来自我团队的几位成员的调研报告(由于隐私 ...

  4. 基于深度学习的目标检测研究综述

    基于深度学习的目标检测研究综述 摘要:深度学习是机器学习的一个研究领域,近年来受到越来越多的关注.最近几年,深度学习在目标检测领域取得了不少突破性的进展,已经运用到具体的目标检测任务上.本文首先详细介 ...

  5. 基于深度学习的目标检测综述

    基于深度学习的目标检测算法归类和总结 整体框架 目标检测算法 主要包括:[两阶段]目标检测算法.[多阶段]目标检测算法.[单阶段]目标检测算法 什么是两阶段目标检测算法,与单阶段目标检测有什么区别? ...

  6. 病虫害模型算法_基于深度学习的目标检测算法综述

    sigai 基于深度学习的目标检测算法综述 导言 目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的位置和大小,是机器视觉领域的核心问题之一.由于各类物体有不同的外观,形状,姿态,加上成像 ...

  7. 综述 | 基于深度学习的目标检测算法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉life 导读:目标检测(Object Det ...

  8. CaDDN:基于单目的3D目标检测新方法(CVPR2021)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨元气满满的打工人 来源丨CV研习社 文章导读 导读:在自动驾驶的技术中,3D目标检测能够提更加丰 ...

  9. 基于深度学习的目标检测的研究进展2

    普通的深度学习监督算法主要是用来做分类,如图1(1)所示,分类的目标是要识别出图中所示是一只猫.而在ILSVRC(ImageNet Large Scale Visual Recognition Cha ...

最新文章

  1. 麦肯锡季刊 | 人工智能的发展与障碍
  2. 25 个超棒的 WordPress 主题(2012)
  3. 项目实体类报错_第一次开发项目感想
  4. BZOJ4881 线段游戏(二分图+树状数组/动态规划+线段树)
  5. 手机上删掉的照片怎么找回来?
  6. 在 SSD 上使用 btrfs 文件系统的相关优化
  7. HTC公布多款Android新机系统内核源代码
  8. JAVASCRIPT实现XML分页
  9. 【一天一个挨打小技巧】暴力磁力种子磁力链接下载
  10. python打包时出现RecursionError: maximum recursion depth exceeded的解决方法
  11. Pubg九月十六日服务器维护,绝地求生9月16日更新维护到几点?绝地求生9月16日更新时间公告...
  12. 石家庄地铁路线安排网站的设计
  13. 敏捷学习~backlog
  14. Excel中的美元符号$
  15. hua图软件 mac_plot for mac(2D绘图软件)
  16. 74161功能表_74161引脚功能表
  17. appium 1.9.0下载地址
  18. vsftp客户端_[转载]安装VSftp实现ftp服务
  19. 织梦(dedecms)仿站教程第一讲-准备工作
  20. OAuth 2.0 入门

热门文章

  1. C语言入栈算法,栈的入栈、出栈、获取栈顶的c语言算法
  2. 使用GDAL将下载的Google卫星图像转为带坐标的tif
  3. 计算机组组内培训记录,计算机教研组活动记录
  4. ArcGIS——Window Server2016中的安装10.2问题
  5. MFC三大dll使用总结
  6. 滇西应用技术大学有没有计算机专业,学校介绍
  7. python怎样播放音乐_Python如何播放音乐?
  8. 【java进阶之路】(Java基础篇)[扩展]深入解析String.intern()及字符串常量池问题
  9. jadc连接oracle,用jdbc连接oracle的第一次经历
  10. Android三种风格的底部导航栏