【发布时间】:2016-08-24 01:38:10
【问题描述】:
我想从图像中检测 矩形。
我使用cv2.findContours() 和cv2.convexHull() 过滤掉不规则多边形。
之后,我将使用船体长度来判断轮廓是否为矩形。
hull = cv2.convexHull(contour,returnPoints = True)
if len(hull) ==4:
return True
不过,convexHull() 有时会返回一个 长度为 5 的数组。
如果我使用上面的标准,我会错过这个矩形。
通过上述方法,我将得到船体:
[[[819 184]]
[[744 183]]
[[745 145]]
[[787 145]]
[[819 146]]]
这是我的问题:给定一个长度为 5 的数组(凸包),我如何确定它是否实际上指的是四边形?谢谢。
================================================ ======================= 更新:
使用Sobel X和Y方向后,
sobelxy = cv2.Sobel(img_inversion, cv2.CV_8U, 1, 1, ksize=3)
【问题讨论】:
-
这是检测车牌的非常糟糕的解决方案。你应该寻找更强大的东西。
-
@Miki 你对此有什么建议吗?
-
你可以从OpenALPR开始
-
这是一个好主意,但它是免费的,每月只有 1500 次识别。我正在通过车载摄像头进行实时识别。
-
它是开源的,你可以看到里面发生了什么并自己制作。此外,您只需为云服务付费
标签: python opencv image-processing geometry