Py学习  »  Python

用opencv python检测对象

python_interest • 4 年前 • 709 次点击  

我有20000张图片,在所有的图片中都有相同的物体。我想用open cv python在我感兴趣的对象周围画一个边界框。你能就如何在感兴趣的物体周围画一个盒子提出建议吗? 我一直在检查orb,sift,但所有这些都在图像上画了一个关键点描述符。

提前谢谢你

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43792
 
709 次点击  
文章 [ 2 ]  |  最新文章 4 年前
Jirka B.
Reply   •   1 楼
Jirka B.    5 年前

请你详细说明一下这些照片好吗?我看到了以下两种情况:

  1. 如果图像中总是有一个对象,则可以使用 a feature matching 然后围绕所有正确匹配的特征绘制边界框。
  2. 如果在图像中有多个相同的对象,并且没有旋转或缩放,则可以使用 template matching (也 here )对整个图像进行相关峰识别。
  3. 训练模型 deep object detection ,请参见示例 YOLO w. OpenCV , SSD , Faster RCNN Mask R-CNN w. OpenCV
Dude
Reply   •   2 楼
Dude    5 年前

尺度不变特征变换(sift)用于 检测 匹配 特征点,意味着它只识别图像中的模式。如果你想在你的对象周围有一个盒子,圆圈或者其他什么框架,你需要在你当前的方法之上手动地整合它。比如说,以集群的中心作为矩形中心。此外,如果你感兴趣的话,你也可以看看基于神经网络的方法,因为它们现在广泛用于模式识别算法。