gpt4 book ai didi

math - 如何将商店图像的二维坐标映射到商店的实际货架?

转载 作者:行者123 更新时间:2023-12-04 21:24:48 24 4
gpt4 key购买 nike

我们需要建立一个车间模型,在该模型中我们可以将像素坐标(x,y)从
相机图像到商店 3D 空间中的实际对象。用作生成此类模型的源的相机图像会受到鱼眼失真的影响。因此,直线实际上在相机图像中显示为曲线,并且墙壁似乎以不完全直角的方式彼此相遇。

我们将区域分割为多边形。图像上的每个多边形都指一个特定的区域,例如货架、展示区、结账柜台等。通过映射落在每个多边形中的像素,我们希望将其关联为属于该区域对应的货架。

任何想法如何去做?

以下是商店的示例图像,其中标记了一些多边形:

enter image description here

编辑:
我们不是要找出 3D 坐标,我们只需要知道任何多边形映射到哪个架子。所以如果用户点击一个多边形,我们可以说他点击了哪个架子。

我们能够对像图中所示的大多边形进行上述管理,但是远离相机的架子可以小到几个像素,因此我们需要某种概率结果,说明用户是否在 (x ,y) 他试图点击架子 A 的概率是多少,或者他试图点击架子 B 的概率是多少,等等。

基本上,我们正在寻找的是一个概率函数,当在 2D 图像上单击小多边形(或像素)时,该函数将返回单击附近对象的概率。

编辑2:
从示例图像中不明显的一件事是多边形大小可能非常小(小到几个像素),而多边形又可能彼此非常接近。

此外,用例是商店中的客户从其中一个货架上挑选产品。应用程序用户将单击图像中他认为从该点拾取产品的点。现在由于多边形如此小且如此接近,用户只能猜测确切的拾取点,因此我们最多只能知道它可能是靠近点击点的 3-4 个多边形中的任何一个。所以问题是如何计算给定点击的这 3-4 个多边形的概率?

正如此处所建议的,点击距多边形中心的距离及其面积可能是计算此概率的参数,我想知道是否有算法可以这样做。

最佳答案

We are not looking to find out the 3D coordinates, we just need to know which shelf is any polygon mapped to. So if the user clicks on a polygon, we can say he clicked on which shelf.



我假设你有一个从多边形到货架名称的映射。例如,作为对(多边形,货架名称)的列表。如果相机固定不动,您可以手工制作一次。那么你的问题只是找到一个点属于哪个多边形。

如果你使用 OpenCV,那么你可以使用它的 PointPolygonTest 功能。否则你可以自己写一个类似的函数。例如,参见 Ray casting algorithm .然后查看列表,直到找到该点所在的多边形。

为了进一步优化程序,您可以预先计算多边形的范围。范围允许您快速确定点何时绝对不在多边形内,并仅考虑剩余的多边形。但是由于图像中的多边形很少,我不会打扰。

Basically, what we are looking for is a probability function which would return the probabilities of click on nearby objects when a small polygon(or a pixel) is clicked on the 2D image.



只需运行一个实验,尝试点击单个突出显示的像素,累积一些关于运算符(operator)实际点击位置的统计数据。一旦你有了这个,就很容易预测对象外点击的数量以及它们可能偏离多远。

如果没有对完全相同的人、相同的使用条件和您将使用的相同指点设备进行这样的实验,您就无法真正判断点击次数会减少多少。相信很多人都是狙击手,鼠标好用,能看清画面。如果他们被迫使用触摸界面或其他一些指点设备,则精度可能会降低。

关于math - 如何将商店图像的二维坐标映射到商店的实际货架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5339100/

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