【问题标题】:Automatic rotation of rectangles with OpenCV and python使用 OpenCV 和 python 自动旋转矩形
【发布时间】:2015-10-20 15:33:35
【问题描述】:

我正在编写处理图像的代码,我正在分析几何图形,特别是处理矩形,并且我有一个检测矩形的函数,我的问题是:

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

在以下网站:http://www.salvasavall.com/2012/04/rotacion-automatica-de-rectangulos-con.html 和作者“Salva Savall”中,我找到了一个解决问题的 c ++ 代码,但我不理解该代码并且不转换为 Python。

Python如何实现对检测到的矩形进行歪斜校正并在右侧矩形(90°)处通过所有矩形?

【问题讨论】:

标签: python opencv


【解决方案1】:

我会建议一种蛮力方法,因为我不知道一种优雅的方法: 在矩形上顺时针取三个点,以 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)

再次顺时针,希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多