我发现了三点半原因,第一和第二点其实是一种,只是我是先后发现
- 图片上有水印
- 特征匹配时,出现了预料之外的匹配
- 光线或者说亮度不足(说法不专业)
- 半点原因:角度问题,这个应该是有影响,但本身算法会去矫正,怎样算角度不可取,可取的角度在哪个范围内,目前我还没有条件做实验
示例
水印问题
左图
右图
分析:
左图和右图的特征点
将匹配点连起来
可以看到camera有很好的匹配
于是我将水印截掉观察
截掉之后拼接的结果
可以看到比没有水印的情况,好了很多,中间有一个三角形的黑块,我想这就是拍摄角度造成的
意料之外的匹配
左图和右图(当然我已经去掉了水印,不要问我怎么去的,我直接截的图,因为我想最快找到答案)
最开始我觉得,这应该能拼上吧。结果却直接报错了。于是我用分割的
拼接的结果:
可以看到是黑白条纹匹配上了。再观察特征点的匹配情况(好吧,我承认,我是先看的特征点匹配情况)
那我再把黑白条纹截掉。然后拼接。
那其实呢,这个是使用stitch函数进行拼接,网上很多其他的方法就不能拼接了,会直接报错,拼不上
所以我认为这和光线太暗了,特征点找不到有关系。我自己手动加了几个特征点。
呐,现在其他的算法也都拼上了
当然,将以整幅图左边变暗,右边调亮一点,将有干扰的特征遮挡住(例如黑白条纹),再来拼接,更能证明是光线的问题。