用OpenCV和python实现矩形的自动旋转

2024-09-30 12:15:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个处理图像的代码,我正在分析几何图形,特别是矩形,我有一个检测矩形的功能,我的问题是:

我可以检测到所有的矩形,但是我需要校正检测到的矩形的倾斜度,我的意思是,有很多矩形是对角的,我需要校正倾斜并将矩形移动到一个直的矩形(90°)

在下面的网站:http://www.salvasavall.com/2012/04/rotacion-automatica-de-rectangulos-con.html和作者“Salva Savall”中,我找到了一个c++代码,它可以解决这个问题,但我不理解这些代码,也不能翻译成Python。在

Python如何实现对检测到的矩形的倾斜校正,并将所有矩形都传递到直角矩形(90°)?在


Tags: 代码图像功能comhttp网站wwwde
1条回答
网友
1楼 · 发布于 2024-09-30 12:15:20

我建议使用暴力手段,因为我不知道一种优雅的方法: 在矩形上顺时针取三个点,P1为高点

P1=(X1,Y1),P2=(X2,Y2),P3=(X3,Y3)
#length of the sides will be 
L1=np.sqrt((X1-X2)^2+(Y1-Y2)^2)
L2=np.sqrt((X2-X3)^2+(Y2-Y3)^2)

现在这一切都取决于你想围绕哪个点旋转它,如果你想绕P1顺时针旋转,新矩形将是什么方向

^{pr2}$

再次顺时针方向我希望这有帮助

相关问题 更多 >

    热门问题