计算图像对之间的几何变换
Compute geometric transformation between pair of images
我有两张经过小转换的照片,因为第二张是后来1 second
捕获的。
现在我正在尝试计算第二张图片的变换,使用第一张图片作为参考。首先,我计算了边缘图像。但是我现在如何比较它们呢?
这
称为图像配准、对齐或拼接问题。它是计算机视觉的一个广泛研究领域。如果 OpenCV 3 可用,您可以直接使用注册两个图像 http://docs.opencv.org/3.0-beta/modules/reg/doc/registration.html 的就绪函数。
如果没有OpenCV 3,你应该自己做。这不是一件容易的事。由于您的图像彼此非常接近,因此您可以遵循以下抽象步骤:
- 使用
GFTT
检测第一张图像中的兴趣点。 - 使用
KLT
在另一个图像中找到相应的对。 - 在匹配的巴黎使用
cv::findHomography
应用RANSAC
。 - 使用生成的单应性,您可以将其中一个包裹到另一个。
附言:如果您需要更高的准确性或更好的性能,您应该尝试深入研究一些学术论文,找到最先进的技术,并尝试使用基于GPU的技术来实现它。
相关文章:
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- 在cuda线程之间共享大量常量数据
- 在c代码之间共享数据的最佳方式
- Mix_Init和Mix_OpenAudio SDL之间的区别是什么
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 大小相等但成员数量不同的结构之间的性能差异
- 类与私有变量的其他类之间的线程安全性
- 骨骼动画:变换矩阵(collada)之间的插值
- 如何找到两个不同坐标系中对应点之间的旋转和平移(变换矩阵)
- 最新版本的提升和提升几何库 (GGL) 之间的冲突
- opencv:两个 3D 点云之间的刚性变换
- 椭圆形斑块之间的仿射变换
- 计算图像对之间的几何变换
- fbx网格载荷几何变换
- 使用RANSAC估计两组点之间的二维变换
- 确定两个矩形之间的几何关系
- 两个坐标系之间的点CGAL变换