代码之家  ›  专栏  ›  技术社区  ›  Artur Müller Romanov

如何在矩形对象上放置矩形遮罩

  •  0
  • Artur Müller Romanov  · 技术社区  · 7 年前

    我想把占位符对象进一步分析成矩形对象。

    我找到了标记矩形角的代码,但我的对象角不够“锐利”。

    import cv2
    import numpy as np
    
    img = cv2.imread('image.png')
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    gray = np.float32(gray)
    
    corners = cv2.goodFeaturesToTrack(gray, 100, 0.01, 60)
    corners = np.int0(corners)
    
    for corner in corners:
        x, y = corner.ravel()
        cv2.circle(img, (x,y), 3, 255, -1)
    
    cv2.imwrite('Corners.png', img)
    

    enter image description here enter image description here

    转角检测不正确。

    1. 有没有办法做到这一点?
    2. 我如何将一个(完美的)矩形放入对象中,使其成为占位符?

    我想要这样的东西:

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  1
  •   Nuzhny    7 年前
    1. 找到所有的轮廓。
    2. 对于每个轮廓,找到一个边界旋转矩形:

      rect=cv2。Minareact(cnt)

      box=cv2。个人简历BoxPoints(矩形)

    3. 减小旋转矩形的宽度和高度,直到(矩形的像素之和==宽度*高度)