java - 根据两点匹配图像

标签 java rotation translation transformation points

我有一组点的图案图像 第二个测试图像也有一组点。我知道点的坐标 x,y。 Problem description 这些点有它们的名字(数字),我知道图案图像中所有点的数量,在测试样本中我知道两个点的数量。我想根据这两个已知点旋转测试图像,使测试图像适合图案图像(我不想缩放它)。 然后我想计算模式点到测试点的距离。我想用 Java 编写算法,知道怎么做吗?

最佳答案

看看 java.awt.geom.AffineTransform,您也会找到相关的教程。 似乎您想将蓝色 0 映射到红色 0,所以我首先要平移这两个组,使它们的 0 位于坐标系的原点。参见 AffineTransform.getTranslateInstance。

接下来我将检查 vector 到蓝色和红色组中的点 1。你可以找到它们相对于 x 轴的角度 (arctan(y/x))。两个角度的差异是您要将蓝色组旋转的角度,以便点 1 指向相同的方向。 参见 AffineTransform.getRotateInstance。 匹配点对似乎是最困难的部分......

关于java - 根据两点匹配图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16628188/

相关文章:

java - 在 Eclipse RCP 应用程序中拖放会导致屏幕闪烁

java - 如何仅单击未选中的按钮 webdriver Java

java - Firebase CurrentUser Null,如何保持用户登录所有 Activity ?

java - 无法检测 adb 版本,退出值 : 0xc0000135

c++ - 在另一个坐标系中查找点的坐标

c++ - 2D 欧几里得 vector 旋转

javascript - Firefox Javascript div 旋转不起作用,但在 Chrome 和 Safari 中起作用

django - 如何翻译 Django 中过滤器的输出

nlp - 当使用fast_align等单词对齐工具时,句子越多是否意味着准确性越高?

Symfony 2 - 翻译不起作用 (xliff)