OpenCV android - 如何识别特定对象

时间:2017-09-02 14:29:58

标签: android opencv machine-learning opencv3.0

我一直在使用OpenCV制作应用程序,用Java识别Android上的车灯符号。我从手机的相机拍摄照片。我使用OpenCV 3.2.0版本。到目前为止我做了什么:

  1. 过滤图像中的颜色
  2. 降低噪音
  3. 按大小检测对象
  4. 按颜色对对象进行排序(对象将与同一对象的颜色进行比较)
  5. 检测到的对象:

    Detected object

    过滤掉的颜色:

    Colors filtered out

    识别那些(二进制图像)对象有什么好办法?我看了一下HOG,HAAR和k-NN算法。但我很难获得一些有用的信息(在哪里下载带算法的文件或训练算法)。或者我会错过什么?我在Windows 10上做的一切。让我们知道你的意见。

1 个答案:

答案 0 :(得分:0)

HAAR是检测特定标志的好方法。假设您知道如何训练级联模型,您可以在Java here中找到一个很好的例子来使用模型来识别符号。

但如果您不知道如何训练HAAR模型,可以参考OpenCV reference。使用OpenCV的命令行工具训练HAAR模型有点复杂,但是here有一个很好的GUI来训练你的模型。

然后你可以为每个标志训练一个模型,并使用每个标志的分类器识别图像中的标志但是它会耗费一些时间

<强>更新

要了解命令行和官方方式(OpenCV 3.x)的级联模型,可以尝试this