我遇到类似于&#34中所讨论的问题;识别常规网格中的扭曲"。我试图绘制佩戴不同眼睛保护的观察者看到的网格扭曲。这些扭曲通常是由制造不规则造成的,不仅仅是简单的鱼眼或枕形扭曲。
另外,我没有矩形网格。我的网格点间隔均匀,但仅显示在圆形区域内。在MATLAB中编码,使用阈值和区域属性,我可以识别参考和失真图像中的每个网格点。但是,在失真图像中,由于失真,我经常会有不同数量的网格点。当失真很大并且点的分布发生变化时,很难将失真点与其参考位置相关联。
我想计算由眼睛保护引起的每个点的位移。我的代码适用于矩形网格,你不会丢失任何点,但是当我有不同的点数时,我无法计算位移。
有没有办法以编程方式执行此操作?我真的想避免设计一个全新的实验装置。我附上了2张图片,以便您可以看到我正在使用的图像种类。 Reference Grid,Distorted Grid。如您所见,我需要映射的扭曲类型非常不同 - 包括:对比度,遮挡,扭曲和条纹等。图像2中的失真的例子几乎是我期望看到的最糟糕的。
这是我在本网站上发表的第一篇文章,因此我没有能力发表评论或询问任何与此相关的问题。任何帮助将不胜感激,如果我的问题需要澄清,请告诉我。
**
我已经解决了我的问题。我没有试图限制我的图像以在每个图像中获得相同数量的网格点,而是对点进行排序,我设计了一种迭代配对方法,该方法在变形网格中找到与参考网格最近的相关点,然后从中删除该点未来的配对。我仍然有一些问题,我确实失去了分数,但我只需要改进配对。