gpt4 book ai didi

opencv - 特定平面物体的物体检测

转载 作者:太空宇宙 更新时间:2023-11-03 20:42:16 33 4
gpt4 key购买 nike

我是计算机视觉新手,我想检测图像(或视频帧)中的特定平面对象。

具体和扁平化是什么意思?

平坦

嗯,平面物体就像物体,但是,你知道,平面......对我来说意味着什么:

  • 将始终从大致相同的“正面”角度观察物体,也就是说,相机的轴(或多或少)对应于它们的表面法线。 (但它们可能会围绕该轴旋转)。
  • 照明角度不会发生任何变化的物体(即它没有转换阴影的凸起和折痕)。

具体

  • 我知道其确切外观和形状的对象。它们完全相同,没有任何变化。
  • 我有他们的(精确)照片(或代表)。

此类对象的示例

  • 1 美元钞票的正面
  • 蒙娜丽莎
  • (您最喜欢的杂志)上一期的封面
  • ...

我相信这个问题很简单,我应该能够找到一个基本上像这样工作的计算机视觉库的函数:

> findObjects("object.png", "image.png")
[object at x1, y1, rotated z1 degrees, size height1*width1,
object at x2, y2, rotated z2 degrees, size height2*width2,
...]

事实上我什至不关心对象的大小和位置,我只需要一个计数。

但是我找不到这样的东西。我所能找到的只是无数使用 Haar 分类器进行人脸识别的示例,这似乎根本不适合我的问题,因为:

  • 人脸不是平面的,因此分类器必须处理不同光照、阴影等问题......
  • 它必须识别面孔,即相似但不完全相同的物体。
  • 它必须识别出未经训练的面孔,因为它们“看起来像”面孔。
  • 证明这是不合适的:它必须用成百上千个正样本和负样本进行训练。在我的问题中,所有需要的信息都包含在一个样本中。所以那是不对的。

那么,这样的东西存在吗?

我更喜欢使用 OpenCV,因为这似乎是标准的计算机视觉库,但我对任何解决方案都持开放态度。

最佳答案

一种方法是使用关键点匹配器。 Opencv 有一个演示可以满足您的需求(在 http://imgur.com/a/Bbc6C#gxXGh 中找到 http://imgur.com/a/Bbc6C#UfTkn 作为预制演示(在 opencv 2.2 发行版中:samples/c/find_obj.cpp)。输出是在 http://imgur.com/ZF1bh 中可视化 - 您应该能够从中开始调整它,以便它找到图像的多个实例并对它们进行计数。

关于opencv - 特定平面物体的物体检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5058656/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com