0

我很好奇是否可以通过首先拍摄样本照片然后在单独的照片中查看它匹配的位置来计算照片中事物的数量,比如说鸭子的数量。因此,为了澄清,我们将有 2 张图片(一张带有一只鸭子的图片,以及一张带有 4 只鸭子的图片),并且程序将通过叠加一张来查看它可以在 4 只鸭子图片中进行多少匹配鸭子图片——从而计算图片中有多少只鸭子。我一直在阅读计算机视觉方面的知识,并且我知道 opencv 的网站谈到了使用傅里叶变换将图像分解为其大小和相位。我希望可能将一张鸭子图片的大小放入一个矩阵中,然后将其与四只鸭子图片中的一系列矩阵进行比较。

我想这将非常困难,因为我必须以某种方式告诉程序初始鸭子的形状,然后将鸭子分解的图像信息存储到矩阵中,然后将其与从另一张图片分解的矩阵进行比较。有什么想法/建议吗?我认为这将是一次很好的学习经历,因为我是一名电气工程专业的学生,​​上学期我学习了傅里叶变换、DFT 等——将它们实际应用到某些东西上会很酷。

4

1 回答 1

1

您正在谈论对象识别- 计算机视觉中的基本问题之一。您的主要想法 - 拍摄对象的照片,从中获取一些特征,然后在其他图像上找到相同的特征集 - 是正确的。但是,逐像素比较(无论是在时域还是频域中)非常容易出错,并且通常会给出很差的结果。在大多数情况下,更多高级功能会产生更好的结果。

要开始使用,请查看 OpenCV 中的Cascade Classifier,它使用类似 Haar 的特征(具有特定灰度的小矩形)。它以人脸检测和识别而闻名,但也可以针对其他对象进行训练。

您可能还对SURF方法感兴趣,它搜索具有相似特征的点,甚至是AAM,它尝试对对象的形状和外观进行建模。

于 2013-08-18T21:49:02.640 回答