嘿,
是否可以使用Python根据不直的图像中的线自动对齐图像? 例如,如果我有这张图片:
找到这条线后,我想根据它对齐图像,因此图像将是这样(此图像是使用Lightroom在此方法中手动对齐的):
你们在如何做这样的事情上有什么先驱,也许有人写的算法可以做类似的事情? 首先,我尝试使用ORB和ECC方法对齐图像,但是它没有给我可以使用的精确结果, 因此,我想到了使用更智能的方法并真正找到线的方法,但是当我尝试使用hough line transform查找线时,结果是线的分布到了整个地方(由于砖之间的细线)。>
我在线搜索,发现多伦多大学的lecture对此进行了讨论,但如上所述,我无法弄清楚如何实现这些方法以创建这样的算法, Python非常复杂。
答案 0 :(得分:1)
使用霍夫变换,您处在正确的轨道上。是的,有很多行。 您无法描述是什么使您想要的行与您不需要的行(在各种未指定的细节中)有所区别,但是让我尝试为您提取一些想法:
使用Hough查找所有可能的行。运行另一遍将一系列线段(拟合相同的线性方程式?)连接成更长的线。例如,即使它穿过水槽的后面,您也应该能够识别出浴帘的左边缘。
现在,您至少需要每个方向上最长的线。还要考虑“框架”情况:如果该线偏离中心(例如,在照片的外侧25%),那么还要在相同方向上但在另一侧寻找一条足够长的线。>
这些过程中的每一个都可以很容易地量化并用基本线性代数检查。您可以通过适当地对线段进行排序以增强每个操作来简化此过程。
有足够的轮廓和提示让您感动吗?