【发布时间】:2011-06-30 19:52:33
【问题描述】:
我是计算机视觉的新手,我想检测图像(或视频帧)中的特定平面对象。
具体和扁平是什么意思?
扁平
嗯,扁平物体就像物体,但是,你知道,扁平……对我来说意味着什么:
- 总是从大致相同的“正面”角度查看对象,即相机的轴(或多或少)与其表面法线相对应。 (但它们可能会围绕该轴旋转)。
- 照明角度不会发生任何变化的对象(即没有投射阴影的凹凸和折痕)。
具体
- 我知道确切外观和形状的对象。它们都完全相同,没有变化。
- 我有一张他们的(精确的)照片(或代表)。
此类对象的示例
- 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 computer-vision object-recognition