首页 > 解决方案 > 如何识别图像中的三种对象?

问题描述

我想从卫星风图像中识别三个不同的物体。问题是其中三个有点相似。我尝试使用模板匹配进行识别,但没有成功。三个对象如下。

对象 1

对象 2

对象 3

在这里,物体的方向并不重要,但线条中头部的类型很重要。你能建议一种方法吗?

标签: pythonopencvimage-processingclassification

解决方案


你有没有想过机器学习?

例如,可以使用一小组图像“重新训练”用于数字识别的小型 cnn,Keras 还具有数据增强功能,以帮助确保训练稳健的分类器。

Yash Katariya 发现了一篇非常好的博文 @https ://yashk2810.github.io/Applying-Convolutional-Neural-Network-on-the-MNIST-dataset/,其中加载了 MNIST 数据集,并且网络经过训练,它会经历您使用 ML 解决问题所需的所有阶段。

您提到您已经尝试过模板匹配,但是您还提到旋转并不重要,这对我来说意味着可以旋转对象,这会导致 TM 失败。

您可以查看 LBP(本地二进制模式),或者可能是 OpenCV 的 Haar 分类器(但它对旋转很敏感)。

除了我建议的项目之外,还有一个很棒的教程 @ https://gogul09.github.io/software/image-classification-python它使用了功能和机器学习,您可能会受益于解决这个问题。

我希望虽然实际上并未直接给您问题的答案,但我已经为您提供了一套您可以使用的工具,这些工具可以通过投入一些时间和阅读来解决它。


推荐阅读