opencv - 如何在两个简单形状之间找到单应性?

标签 opencv image-processing computer-vision homography

我有两个相对简单形状相同的绘制图像,但是这些图像绘制的略有不同,并且可能会旋转,缩放等。

我想找到我必须应用于图像A的单应性以获取(大约)图像B。

以这两个图像为例:

example pictures

我想找到使图像A扭曲的单应性,使其近似类似于图像B。它不一定是完美的,但显然应尽可能精确。

我已经尝试过在this tutorial之后在openCV中找到单应性,但是我想尝试使用this doesn't seem to work really,因为the SURF keypoints are not matching,因为这些图像中没有真正的唯一点(?)。

有人可以向我指出正确的方向以解决该问题吗?我对计算机视觉技术不是很熟悉,尽管本教程适用于真实图像,但它似乎不适用于我的用例。

任何帮助表示赞赏。

最佳答案

在进一步研究一些随机关键词后,回答我自己的问题。

用于搜索此类问题的关键字是形状匹配轮廓匹配

对于我的特定问题,我使用了this implementation,并对我的用例做了一些小的修改。其他开始遇到问题的资源是Shape Matching using Hu MomentsOpenCV Shape Distance and Matching

关于opencv - 如何在两个简单形状之间找到单应性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59717232/

相关文章:

python - OpenCV 和 Python : quickly superimpose mask over image without overflow

python - 如何在累加器坐标位移范围内定义广义霍夫变换的高斯投票?

image-processing - 定向梯度直方图与边缘方向直方图

python-3.x - 从单个图像生成图像数据集

图像处理如何检测图像中的特定自定义形状

SiFT的Opencv特征向量大小

python - Python中的环中值过滤器

c++ - 在 openCV 中为 oclMat 添加小图像到大图像

image-processing - keras 在拟合方法 : expected model_2 to have shape (None, 252, 252, 1) 中出错,但得到了形状为 (300, 128, 128, 3) 的数组

image-processing - 高斯模糊 - 标准偏差、半径和内核大小