python 检测四边形,并矫正

举报
风吹稻花香 发表于 2021/06/04 22:42:51 2021/06/04
【摘要】   # -*- coding: utf-8 -*-import osimport time import numpy as npimport cv2 #coding=utf-8import numpy as npimport cv2import os from utils.data_augment_1114 import rotate_3 class Point...

 


  
  1. # -*- coding: utf-8 -*-
  2. import os
  3. import time
  4. import numpy as np
  5. import cv2
  6. #coding=utf-8
  7. import numpy as np
  8. import cv2
  9. import os
  10. from utils.data_augment_1114 import rotate_3
  11. class Point(object):
  12. x =0
  13. y= 0
  14. # 定义构造方法
  15. def __init__(self, x=0, y=0):
  16. self.x = x
  17. self.y = y
  18. class Line(object):
  19. def __init__(self, x1,y1,x2,y2 ):
  20. self.p1 = Point(x1,y1)
  21. self.p2 = Point(x2,y2)
  22. def GetLinePara(line):
  23. line.a =line.p1.y - line.p2.y;
  24. line.b = line.p2.x - line.p1.x;
  25. line.c = line.p1.x *line.p2.y - line.p2.x * line.p1.y;
  26. def GetCrossPoint(l1,l2):
  27. GetLinePara(l1);
  28. GetLinePara(l2);
  29. d = l1.a * l2.b - l2.a * l1.b
  30. p=Point()
  31. if d==0:
  32. return (-1,-1)
  33. else:
  34. p.x = int((l1.b * l2.c - l2.b * l1.c)*1.0 / d)
  35. p.y = int((l1.c * l2.a - l2.c * l1.a)*1.0 / d)
  36. return (p.x,p.y)
  37. # coordina

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/109702093

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。