使用opencv和Numpy从图像中检测平行四边形

kartik_397

图像中的平行四边形

我想使用python语言中的Opencv和numpy在图像中检测平行四边形。我已经从轮廓检测中尝试过并成功检测到矩形和正方形,但无法检测到平行四边形和菱形等形状,有人可以帮我吗?

肯尼思VG

我要做的是:

  1. 检测轮廓
  2. 在轮廓上绘制直线(也许使用roxyPolyDP)
  3. 计算每个角的角度
  4. 确保对角一致(在边距之内),并且彼此相邻的角总计为180。

我之前已经编写了一些代码来计算向量3点之间的角度。这可能会有所帮助。

def angle(pt1, pt2, pt0):
# For A(x,y), B(x,y), C(x,y)
#  vectorAB = B-A = ((Bx-Ax)-(By-Ay))
#  vectorBC = C-B = ((Cx-Bx)-(Cy-By))
# dx1 = pt1x-coordinate - pt0x-coordinate
dx1 = pt1[0][0] - pt0[0][0]
dy1 = pt1[0][1] - pt0[0][1]
# vectorAB
d1 = np.array([dx1, dy1])

# vectorBC
dx2 = pt2[0][0] - pt0[0][0]
dy2 = pt2[0][1]  - pt0[0][1]
d2 = np.array([dx2, dy2])

# dot product of d1 en d2
# dotPrd1d2= d2(x)*d1(x)+d2(y)*d1(y)
dotPr = np.dot(d1, d2)
# ||AB|| = sqrt(math.pow(vectorABx, 2) + math.pow(VectorABy,2))
# ||BC|| = sqrt(math.pow(vectorBCx, 2) + math.pow(vectorBCy,2))
lengthOfd1 = math.sqrt(math.pow(dx1,2) + math.pow(dy1, 2))
lengthOfd2 = math.sqrt(math.pow(dx2, 2) + math.pow(dy2, 2))
# returns the angle of the vector by arc cos alpha
return np.arccos(dotPr/(lengthOfd1*lengthOfd2))

我已经写了一些评论以提供帮助。我尚未对其进行广泛的测试,因此请小心。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用matplotlib在python中制作梯形和平行四边形

来自分类Dev

CSS文字平行四边形

来自分类Dev

将图像放置在平行四边形内而没有曲率

来自分类Dev

如何将SVG(或CSS)中的图像转换为非平行四边形形状?

来自分类Dev

如何在JGraphx中制作平行四边形的顶点?

来自分类Dev

CSS中的平行四边形形状

来自分类Dev

Python中的最小封闭平行四边形

来自分类Dev

如何在python中绘制带有字符的平行四边形?

来自分类Dev

如何使用 CSS 创建平行四边形,但没有转换

来自分类Dev

如何在具有直边的CSS中创建“平行四边形”形状?

来自分类Dev

平行四边形形状内的流uitextview(iOS7)

来自分类Dev

如何创建平行四边形形状背景?

来自分类Dev

窗口形状可以是平行四边形吗

来自分类Dev

平行四边形函数的区域,javascript

来自分类Dev

具有C ++的3个循环的平行四边形

来自分类Dev

左上边缘圆角的平行四边形 UILabel

来自分类Dev

为什么我不能在一侧放置平行四边形中的文本

来自分类Dev

如何在css中制作具有阴影效果的平行四边形结构

来自分类Dev

将任意大小的圆圈放置在另一个形状/平行四边形中

来自分类Dev

如何在CSS中制作与平行四边形相似的形状?

来自分类Dev

Google Maps Api 将我的多边形(矩形)绘制为平行四边形

来自分类Dev

为什么每隔一个平行四边形div就有空间?

来自分类Dev

NxM网格上的平行四边形数

来自分类Dev

OpenCV在Python中检测四边形

来自分类Dev

OpenCV在Python中检测四边形

来自分类Dev

绘制一个带有一些阴影偏移的圆边平行四边形

来自分类Dev

如何计算将一个平行四边形的两个角移到一个理想的矩形上的调整量(英寸)?

来自分类Dev

在opencv中绘制四边形

来自分类Dev

使用OpenCV将图像扭曲到另一个图像的四边形区域

Related 相关文章

  1. 1

    如何使用matplotlib在python中制作梯形和平行四边形

  2. 2

    CSS文字平行四边形

  3. 3

    将图像放置在平行四边形内而没有曲率

  4. 4

    如何将SVG(或CSS)中的图像转换为非平行四边形形状?

  5. 5

    如何在JGraphx中制作平行四边形的顶点?

  6. 6

    CSS中的平行四边形形状

  7. 7

    Python中的最小封闭平行四边形

  8. 8

    如何在python中绘制带有字符的平行四边形?

  9. 9

    如何使用 CSS 创建平行四边形,但没有转换

  10. 10

    如何在具有直边的CSS中创建“平行四边形”形状?

  11. 11

    平行四边形形状内的流uitextview(iOS7)

  12. 12

    如何创建平行四边形形状背景?

  13. 13

    窗口形状可以是平行四边形吗

  14. 14

    平行四边形函数的区域,javascript

  15. 15

    具有C ++的3个循环的平行四边形

  16. 16

    左上边缘圆角的平行四边形 UILabel

  17. 17

    为什么我不能在一侧放置平行四边形中的文本

  18. 18

    如何在css中制作具有阴影效果的平行四边形结构

  19. 19

    将任意大小的圆圈放置在另一个形状/平行四边形中

  20. 20

    如何在CSS中制作与平行四边形相似的形状?

  21. 21

    Google Maps Api 将我的多边形(矩形)绘制为平行四边形

  22. 22

    为什么每隔一个平行四边形div就有空间?

  23. 23

    NxM网格上的平行四边形数

  24. 24

    OpenCV在Python中检测四边形

  25. 25

    OpenCV在Python中检测四边形

  26. 26

    绘制一个带有一些阴影偏移的圆边平行四边形

  27. 27

    如何计算将一个平行四边形的两个角移到一个理想的矩形上的调整量(英寸)?

  28. 28

    在opencv中绘制四边形

  29. 29

    使用OpenCV将图像扭曲到另一个图像的四边形区域

热门标签

归档