繁体   English   中英

使用 OpenCV 和 python 自动旋转矩形

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM