我想使用opencv自动将Google地球照片叠加层(直接嵌入到景观中的照片)调整为Google Earth的3D环境。照片已经具有位置,视角和方向作为元数据,因此只需要在真实图像和Google Earth渲染的图像之间进行很小的调整。
我曾尝试使用shif,Azaka或fast之类的特征检测器,但是大多数图像都位于林区,并且没有很多清晰的特征可链接(它们都发现树木是最突出的特征,这并不好) 。除此之外,这些算法将在图像中无处不在,我只想着眼于小的翻译和扩展。
我已经尝试通过将其中一个图像平移几个像素并计算图像之间的整体差异来进行蛮力测试,以便找到最合适的笔迹。再次,没有什么好结果。
最后,我尝试获取两者的轮廓(canny算法)以尝试用作图像中的关键点。但是到目前为止,我发现很难找到适用于所有图像的正确参数。
我对opencv还是很陌生,我想我只是缺少明显的东西,有人可以给我一些提示或想法吗?
如果图像仅略微平移或旋转而不同,则可以应用直接方法。这可能与您描述的蛮力方法类似。这是指向描述其中一些方法的简短论文的链接:http://pages.cs.wisc.edu/~dyer/ai-qual/irani-visalg00.pdf希望这会有所帮助。