繁体   English   中英

如何使用 opencv-python 在此图像上找到平行线?

[英]How can I find parellel line on this image with opencv-python?

如图所示,有2条平行线。 如何使用 opencv-python 在这里找到平行线的总数? 在此处输入图像描述

你应该使用一些数学。
1、使用OpenCV检测线路。 您需要删除短线(噪音)。
2.计算每一行的向量,vi=(xi, yi)
3. 假设 v1=(x1,y1), v2=(x2,y2)。

def is_parallel(v1, v2):
   x1, y1 = v1
   x2, y2 = v2
   thres = 3
   alpha = acos((x1*x2+y1*y2)/(sqrt(x1**2+y1**2)*sqrt(x2**2+y2**2)))
   if abs(0-alpha) < thres: return True
   if abs(180-alpha) < thres: return True 
   return False

4.微调thres以获得最佳结果

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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