我正在尝试制作一个自动校正矩形透视的程序.我已经设法得到矩形的轮廓,并有代码来纠正透视,但我找不到角落.最大的问题是,因为它已经变形,我不能使用以下"代码":
c1 = min(x), min(y)
c2 = max(x), min(y)
c3 = min(x), max(y)
c4 = max(x), max(y)
Run Code Online (Sandbox Code Playgroud)
这不适用于这种情况(X代表一个角落):
X0000000000X
.00000000000
..X000000000
.....0000000
........0000
...........X
Run Code Online (Sandbox Code Playgroud)
有谁知道如何做到这一点?
离市中心最远的地方会给你一个角落.离第一个角落最远的点会给你另一个角落,它可能与第一个角落相邻或相对.距离这两个角之间的线的最远点(更加强大的数学运算)会给你第三个角.我使用距离中心的距离作为打破平局.为了找到第四个角,它将是你找到的前3个角形成的三角形外的点,距离这些角之间最近的线最远.
这是一个非常耗时的方式,我从来没有尝试过,但它应该工作.
| 归档时间: |
|
| 查看次数: |
2028 次 |
| 最近记录: |