image - 区分物体?

标签 image image-processing

我想识别图片中的一个球。我正在考虑使用索贝尔边缘检测算法,这样我可以检测图像中的圆形物体。

但是我如何区分不同的对象。例如,一张图片中有一个足球,而另一张图片中有一张月亮的图片。如何区分检测到的物体。

当我使用我的算法时,我在这两种情况下都会得到球。有什么想法吗?

最佳答案

如果您想要区分的所有对象都是圆形的,您甚至可以对圆形对象使用霍夫变换。这是区分圆形物体的一种非常好的方法。

但是你的基本问题似乎是分类 - 将图像上的对象分类为不同的类。

为此,您实际上并不需要神经网络,您可以简单地尝试使用最近邻匹配。它的功能有点像神经网络,因为您可以给它几张引用图片,告诉系统在那里可以看到什么,它会针对您检测到的每个属性将自身优化为最佳平均值。这样您就可以获得不同类型对象的簇字典。

但是为此,您当然首先需要能够区分球和月亮的东西。 由于它们都是真实的圆形物体(显示为圆形),因此比较圆度、周长、直径或面积是没有用的(前提是您的相机稳定并且您知道月亮在图像上始终具有相同的大小,除了球之外)。

所以基本上你需要查看物体本身的内部,你可以尝试比较它们的平均颜色值或灰度值或物体内部的对比度(月亮主要有中灰色值,而足球由黑色和白色组成)白色部分)

您还可以对分段对象运行边缘过滤器,以确定哪个在其纹理中更“尖锐”。但为此我想有更好的方法......

基本上你需要先做什么:

  1. 找到几个属性来帮助您区分不同的圆形物体(假设它们已经分开)
  2. 实现一些东西来从圆形物体的图片中获取这些值(当然,它已经被分割,因此它的背景为 0)
  3. 构建一个系统,您可以提供多个图像及其类别,以建立一个监督学习系统,并为其提供每种类型的多个图像(网上有很多实现)

现在您的系统正在运行,并且可以将其他对象提供给它进行分类。

  1. 为此,您需要通过边缘过滤器或霍夫变换来分割图像中的对象
  2. 对于图像中的每个分割对象,让它运行您的分类系统,它应该告诉您它属于哪个类(对象类型)...

希望有帮助...如果没有,请继续询问...

关于image - 区分物体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4896486/

相关文章:

javascript - 如何根据动态变化的百分比值为图像着色?

java - 将图像放在 Java 中随机创建的按钮上

HTML - div 左侧的图像

css - 使用 nodejs 的 GraphicsMagick 未返回正确的图像

opencv - 在立体视觉中将一个图像的像素映射到另一个图像

python - 在一个子像素位置将一个图像补丁插入另一个图像

ios - 如何保存图像和其上绘制的线条的组合? swift

c - 如何将 for 循环中的整数作为十六进制值输出到文件

image-processing - 如何处理图像中的浮点坐标值

python - 为什么有些图像有第三维,而其他图像有 4?