Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用opencv对齐多个摄影机图像_Python_Image_Opencv_Image Processing - Fatal编程技术网

Python 如何使用opencv对齐多个摄影机图像

Python 如何使用opencv对齐多个摄影机图像,python,image,opencv,image-processing,Python,Image,Opencv,Image Processing,想象一下,有人从相机上突然拍摄,他会有多张照片,但由于没有使用三脚架或支架,拍摄的图像会略有不同 如何对齐它们,使它们整齐地重叠并裁剪出边缘 我搜索了很多,但大多数解决方案要么是进行三维重建,要么是使用matlab e、 g 因为我对openCV非常陌生,所以我更喜欢一个易于实现的解决方案 我已经通过在MSPaint中手动旋转和裁剪图像生成了许多数据集,但是包含相应数据集的任何链接(稍微旋转和翻译的图像)也会有所帮助 编辑:我在这里找到了一个解决方案 它给出了旋转和平移向量的近似值 我怎样才能做

想象一下,有人从相机上突然拍摄,他会有多张照片,但由于没有使用三脚架或支架,拍摄的图像会略有不同

如何对齐它们,使它们整齐地重叠并裁剪出边缘

我搜索了很多,但大多数解决方案要么是进行三维重建,要么是使用matlab

e、 g

因为我对openCV非常陌生,所以我更喜欢一个易于实现的解决方案

我已经通过在MSPaint中手动旋转和裁剪图像生成了许多数据集,但是包含相应数据集的任何链接(稍微旋转和翻译的图像)也会有所帮助

编辑:我在这里找到了一个解决方案 它给出了旋转和平移向量的近似值


我怎样才能做得更好呢?

这取决于你所说的“更好”是什么意思(准确性、速度、低内存需求等)。一种经典方法是将每个帧#i(i>2)与第一帧对齐,如下所示:

  • 局部特征检测,例如通过SIFT或SURF()
  • 描述符提取()
  • 描述符匹配()
  • 基于透视变换的路线估计()
  • 使用估计的变换()变换图像#i以匹配图像1

  • 谢谢,这很有帮助。我现在已经完成了大部分工作,但是为了正确地对齐它,因为#5我不想反转估计的变换来校正透视图。第1帧建立正确的透视图,单应矩阵是从第1帧到第2帧的变换。要使第2帧与第1帧对齐,我们应该在第2帧上应用Inv(M)。再次感谢,如果我误解了什么,请告诉我是的,这是完全可能的。这实际上取决于您在
    透视图中使用的标志,但我认为这是正确的。