gpt4 book ai didi

安卓 : Camera view comparison with stored image

转载 作者:行者123 更新时间:2023-11-29 00:37:00 24 4
gpt4 key购买 nike

关于如何比较两幅图像,“计算”它们之间的差异,一直存在讨论。这可以看作是图像比较的一种变体,但不完全是。考虑一下:假设我有一支笔的图像,存储在我手机(Android 手机)的 SD 卡中。而且,我正在用我的相机在家里“寻找”这支笔。让我们忽略我可以用眼睛做同样的事情,让相机进行搜索。所以,我在家里,将相机对准各个地方,看看当我将相机对准这支笔时,我的相机是否可以“识别”它。用模糊的计算机科学术语来说,当我将相机对准东西时,我有一个线程在后台运行,以不断比较这支笔的图像与当前的相机 View 。我将相机对准椅子,线程将椅子的相机 View 与笔的图像进行比较,由于椅子不是笔,因此返回“false”。当我最终将它指向放在 table 上的同一支笔时,线程应该确定这是我们 SD 卡上的图像的笔。因此,Camera View 现在显示了这支笔及其所在的 table ,但它应该使用图像比较技术来识别这支笔。

一般来说,这样的事情可能吗?忘记 Android 或智能手机,是否可以使用相机“识别”一个区域或物体?由于不了解图像处理库,我只能假设某些库确实有执行此类操作的工具。或者至少,可能有一个“理论”算法,可以开始研究。

谢谢,

桑吉夫 Mk

最佳答案

这种事情是可以做到的,但是要让它很好地工作是非常、非常、非常困难的。我在 Android 上处理 OpenCV 的经验是,用当前的移动硬件实时执行此操作是不可能的。 (对静止帧执行此操作可能是可行的)

一个非常粗糙的(并且是最简单的)系统将使用模板匹配 cvMatchTemplate。本质上,您将"template"(例如您的笔的照片)与搜索图像中每个可能位置的照片进行比较。它是计算密集型的,但在受限的情况下工作得很好,但是您的应用程序需要完全不受约束的条件。

我的建议是查看 Surf 或类似的东西以及 Hough 变换。您可以通过引用图像在对象上生成一组 SURF 特征来制作对象的“指纹”。您在搜索图像上运行冲浪。然后应用广义霍夫变换,其中对象模型是一组特征点。霍夫空间中的峰值代表匹配良好。

我什至从未尝试过第二种方法,但我知道这是可能的。另外,我提出的这两种方法绝不是仅有的两种,它们只是我所熟悉的两种。

关于安卓 : Camera view comparison with stored image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12032028/

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