[英]Automatic rotation of rectangles with OpenCV and python
我正在编写用于处理图像的代码,我正在分析几何图形,特别是处理矩形,并且我有一个检测矩形的功能,我的问题是:
我可以检测到所有矩形,但我需要校正检测到的矩形的倾斜度,我的意思是,对角线有倾斜矩形,我需要校正倾斜度并将矩形移动到矩形直线(90°)
在以下网站中: http : //www.salvasavall.com/2012/04/rotacion-automatica-de-rectangulos-con.html和作者“Salva Savall”,我找到了解决问题的 ac ++ 代码,但不是我理解代码,不要翻译成 Python。
Python如何实现对检测到的矩形进行歪斜校正并通过右侧矩形(90°)处的所有矩形?
我会建议一种蛮力方法,因为我不知道一个优雅的方法:在矩形上顺时针取三个点,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 旋转,新矩形将是什么方向
Q1=(X1,Y1)
Q2=(X1+L1,Y1)
Q3=(X1+L1,Y1+L2)
再次顺时针我希望这有帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.