两个相机拍摄两张木板图像。图像具有木板的重叠,我需要以一种看起来自然的方式缝合在一起,并且为了检查目的,优选地与人眼无缝。将图像裁剪成相同的尺寸并遮盖以去除背景和大部分非重叠区域,但是木板可以在传送带上略微倾斜。
目前我在一般覆盖区域使用 normxcorr2 函数,遵循normxcorr2函数的Matlab totorial的想法,尝试识别另一个中的一个图像并且工作按照教程,输出叠加偏移量。然而,这经常失败,因为normxcorr2函数返回零偏移 - 导致拼接错误:
c = normxcorr2(plank_part1,plank_part2);
在互相关中找到峰值:
[ypeak, xpeak] = ind(c==max(c(:)));
考虑normxcorr2添加的填充:
yoffSet = ypeak-size(onion,1);
xoffSet = xpeak-size(onion,2);
[xoffSet,yoffSet]
ans =
0 0
似乎normxcorr2无法始终找到图像的正确叠加,或任何叠加(?),即使我试图通过函数 histeq增加灰度对比度来使其更容易。我的猜测是" grey ish"边材的区域压倒了明显的结,这是正确拼接的重要部分。
有没有人知道如何增加这种拼接过程的可能性,可能通过一些更多的预处理,或使用任何其他matlab技能/功能来使这项工作更好?
P.S我不能使用任何可以自由访问的脚本,因为这可能会成为我项目的许可/版权问题。
感谢您抽出时间帮忙!