python - 查找两个匹配形状之间的转换
问题描述
给定两张具有相似斑点的图像,是否有一种简单的方法可以找到它们之间的转换?例如,我有两个图像,如下所示:
右边是神经网络的输出,而左边是近似值(仅从形状的角度来看)。我正在寻找转换以移动左侧图像以最佳匹配右侧的位置和方向。在这种情况下,大约 150-160 度 CC 的旋转,以及向上和向右的平移。
这似乎是一个带有一些附加约束的形状匹配问题,但我想知道是否有办法做到这一点而不必执行一堆测试转换/滑动窗口。我发现的大多数示例都是用于分类的,而位置示例不支持旋转。
到目前为止我的想法......我看过 Hu 时刻和 openCV 的 matchShapes,它们似乎会让我得到相似性(和镜像,这是数据中的一种可能性,因此是可取的),但我不是确定如何在不使用某种窗口的情况下使用它们。另一种选择是 SIFT 或另一种基于特征的方法,但鉴于数据的信息量低且形状不太相似(Hough 变换作为基础?),我认为它不会特别好。另一种蛮力方法可能是计算质心的差异,将左图像向右移动,然后旋转直到找到具有最大 Jaccard 索引的方向(或使用矩来找到旋转?),但这是一样的我的那种东西
我的第一直觉就是制作一个神经网络来做这件事,但我觉得我只是想念一个更好的答案。
解决方案
推荐阅读
- javascript - 如何根据 URL 和 SQL 数据库中的相关值将访问者重定向到特定页面?
- python - 在 Slack 中将链接展开为图像
- drupal-8 - Drupal 8.5.4 所有链接都给出 404 Not Found
- java - 在 TAB 1 的 RecyclerView 中添加数据时更新 TAB 2 Recyclerview
- powershell - Powershell:使用 New-Object cmdlet 创建 PSCredential 对象时出错
- javascript - 具有不同滚动方向的部分
- bash - 如何使用 bash 脚本添加某些单词或单词部分来复制文件的名称?
- java - 端口无效。通过 Selenium 使用 ChromeDriver 和 Chrome 退出 ...org.openqa.selenium.os.OsProcess checkForError
- php - 子查询在 MySQL 工作台中工作,但不是 PHP
- javascript - 循环遍历 HTML 表并添加到数据库