python - 如何将矩形蒙版放在矩形对象上

标签 python opencv

我想将占位符对象放入矩形对象中以供进一步分析。

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

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

未正确检测角。
  • 有没有办法做到这一点?
  • 我如何将一个(完美的)矩形放入对象中,以便它用作占位符?

  • 我想要这样的东西:

    enter image description here

    最佳答案

  • 找到所有轮廓。
  • 对于每个轮廓,找到一个边界旋转矩形:

    矩形 = cv2.minAreaRect(cnt)

    box = cv2.cv.BoxPoints(rect)
  • 减小旋转矩形的宽度和高度,直到(矩形的像素总和 == 宽度 * 高度)
  • 关于python - 如何将矩形蒙版放在矩形对象上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54421549/

    相关文章:

    python - Python:替换文件中的行而不读取整个文件

    python - Python中的OpenCV2使用inRange抛出错误

    python - 在python OpenCV中使用特定的高度和宽度调整和填充图像会导致错误和不准确的结果

    python - 如何使用Python中的路径变量使用opencv读取图像

    visual-c++ - 如何使用 Visual C++ 创建 RGB 位图?

    python - 有没有办法让 python 函数知道它在模块加载时被装饰了?

    python - Pandas str.contains - 在字符串中搜索多个值并在新列中打印这些值

    python - 如果Python元组中的ob_item指针是静态数组,我们如何移动它?

    python - Python 中的溢出句柄

    OpenCV,从位图创建图像对象