C ++ OpenCV天空图像拼接

时间:2013-03-13 17:18:27

标签: c++ opencv

一些背景知识 大家好!我有一个涉及云成像的项目。我用安装在旋转平台上的相机拍摄天空照片。然后,我需要根据某个颜色阈值计算存在的云量。我能够为每张照片单独进行此操作。为了完全实现我的目标,我需要对整个天空图像进行计算。所以我的问题在于缝合几张图像(大约44-56张图像)。我尝试在图像集的所有和一些子集上使用针脚功能,但它返回一个不完整的图像(一些图像没有被缝合)。这可能是因为某些东西没有重叠,我不知道。此外,输出图像奇怪地扭曲了(我实际上期望输出类似于鱼眼镜头拍摄的照片)。

实际问题: 所以现在我想弄清楚opencv拼接管道。这是一个链接: http://docs.opencv.org/modules/stitching/doc/introduction.html

根据我所研究的内容,我认为这就是我想要做的。我想将所有图像映射到圆形,主要是因为我的相机旋转的方式,或其他使用相当简单的坐标转换的东西。所以我认为我需要为图像获得某种固定坐标变换的东西。这就是他们所说的单应性吗?如果是这样,有没有人知道我怎么能解决我的问题?在此之后,我相信我需要一个用于混合图像的蒙版。我是否需要获得一个固定的面具,就像我想要的单体面膜一样?

我是否正在经历一条可能的道路?我有一些编程背景,但在图像处理方面几乎没有。我基本上迷路了。 T.T

1 个答案:

答案 0 :(得分:0)

“所以我认为我需要为图像获得某种固定坐标变换的东西。这就是他们所谓的单应性吗?”

是的,单应矩阵是原始图像和理想结果之间的变换矩阵。它以透视方式扭曲图像,因此它可以与其他图像拼接。

“如果是这样,有没有人知道我怎么能解决我的问题?”

不是您提供的有限信息。如果你知道图片的顺序(哪个边界是哪一行,列位置)

,它会很容易解决问题

如果您没有图像处理经验,我建议您使用详细介绍使用更多基本功能的拼接教程。幕后有一些重要的工作,实际上并不难做到这一点。

从这个例子开始。它缝了两张照片。

http://ramsrigoutham.com/2012/11/22/panorama-image-stitching-in-opencv/