5 第5章 区分硬币和商品

5 第5章 区分硬币和商品

在前面第4章"哺乳动物脸部的检测与融合"中,我们使用Haar或LBP级联来区分人类和猫的脸。因为我们想要脸部,所以我们才有这个具体的分类问题,方便的是,OpenCV为人脸和猫脸提供了预先训练的级联文件。现在,在我们的最后一章中,我们将处理更广泛的问题,在没有现成的分类器的情况下对各种对象进行分类。也许我们可以为每种对象训练Haar或LBP级联,但这将是一个长期的项目,需要大量的训练图像。我们将采取另一种方案,开发一个不需要训练的检测器和一个只需要少量训练图像的分类器。在此过程中,我们将尝试做到以下任务:

  1. 基于像素颜色将图像分割为前景和背景区域。分割的结果是一个称为掩码的二进制图像。掩码中的每个像素被标记为前景(黑色)或背景(白色)。
  2. 通过扩展前景区域使蒙版更平滑。这个过程叫做侵蚀。它是形态学的一种特殊情况,即改变形状的边界。
  3. 检测蒙版前景形状或斑点的边缘,并裁剪出每个斑点的矩形图像。这是一种轮廓分析。
  4. 根据每张图像中颜色的数量比较斑点的图像。这个过程叫做直方图分析。
  5. 基于图像纹理的比例不变描述和旋转不变描述对图像进行比较。这个过程称为特征匹配或关键点匹配。
    您将使用自己的对象类型和自己的训练图像来配置项目。作为例子,本章将讨论两种干豆和五种加拿大硬币,如下一组训练图像所示:
    在这里插入图片描述
    注意这些训练图像在比例和角度上是不同的。我们的分类器是尺度不变的和旋转不变的。对于每个硬币,我们使用两个训练图像表示正面和反面。从左到右,从上到下,我们有以下对象:
  • 菜豆:它是白色的,有深棕色的斑点。
  • 罗马豆:呈棕黄色,带有深棕色斑点。
  • Nickel,5分硬币:镀镍,正面是伊丽莎白女王二世,背部是一只海狸。
  • Dime,10分硬币:镀镍,正面是伊丽莎白女王二世,背部是个著名的帆船"Bluenose",来自坐着的家乡,新斯科舍省。
  • Quarter,25分硬币:镀镍。正面是伊丽莎白女王二世,背部是一只北美驯鹿。
  • Loonie,1元硬币:镀黄铜。正面是伊丽莎白女王二世,背部是一只潜鸟。
  • Toonie,2元硬币:外圈镀镍,内圈镀铜。正面是伊丽莎白女王二世,背部是一只北极熊。
    [5分硬币,10分硬币和25分硬币的正面设计十分相似,所以我们在观察这些硬币的正面时需要一些负向分类器 ]
    我们最后的分类应用程序叫做BeanCounter,这是一个口语化的术语,指的是把所有东西都标出来的会计或人员。在本章的最后,BeanCounter可能会激励您检查家中或办公室中的所有对象,并为其中许多对象训练分类器!
    [要获得本书的所有的项目,你可以参考我的Github仓库https://github.com/JoeHowse/iOSWithOpenCV或者登陆PacktPublishing网站https://www.packtpub.com/.第5章"区分硬币和商品"的代码在BeanCounter子文件夹中]

本章目录

5 第5章 区分硬币和商品
  5.1 理解点检测
    5.1.1 分段
    5.1.2 Canny边缘检测
    5.1.2 轮廓分析
  5.2 理解直方图分析
    5.2.1 SURF和FLANN
    5.2.2 ORB和…
  5.3 Planning an object classification application
  5.4 配置工程
  5.5 定义点和点检测器
  5.6 定义点描述符和点分类器
  5.7 布局斑点屏幕?
  5.8 定义和布局view controllers
    5.8 捕获和预览点
    5.8 观察,保存,和分享分类点
    5.8 试图控制器之间的跳转
  5.9 在简单的背景下检测斑点
  5.10 用颜色和关键点对斑点进行分类
  5.11 使用应用程序进行高难度测试
    5.11.1 不均匀照明背景
    5.11.2 运动模糊
    5.11.3 失去焦点
    5.11.4 反射
    5.11.5 斑点重叠
  5.12 将OpenCV的学习提升到下一个等级
  5.13 总结

###返回到书籍目录###

猜你喜欢

转载自blog.csdn.net/GikkiAres/article/details/86490839