gpt4 book ai didi

opencv - 如何在 python 中给定矩形的 4 个顶点绘制边界框?

转载 作者:行者123 更新时间:2023-12-05 05:06:44 27 4
gpt4 key购买 nike

我正在处理 OCR 应用程序,为图像提供的注释有 4 个像这样的三角形顶点,

x1_1, y1_1,x2_1,y2_1,x3_1,y3_1,x4_1,y4_1, text_line

我该如何绘制它?

我尝试使用 plt.rectangle 但它只需要 xmin、ymin、xmax、ymax 而这里我有 4 个顶点?

最佳答案

如果您坚持找不到最小/最大值,您可以这样做:

import numpy as np
import matplotlib.pyplot as plt

d=[1,1,1,4,3,4,3,1]
Xs = d[::2]
Ys = d[1::2]
for i in range(4):
if i < 3:
plt.plot([Xs[i],Xs[i+1]],[Ys[i],Ys[i+1]],'k-',lw=2)
elif i == 3:
plt.plot([Xs[i],Xs[0]],[Ys[i],Ys[0]],'k-',lw=2)

plt.show()

给出:

enter image description here

正确的做法是先找到最左边的点,然后找到宽度和高度并将所有 3 传递给 matplotlib.patches.Rectangle。如果你得到正确排序的点,你只需要取 (x_1,y_1) 然后 width=x_4-x_1, height=y_2-y_1

简单的例子是:

import matplotlib.pyplot as plt
import matplotlib.patches as pac

plt.axes()
rectangle = pac.Rectangle((1,1), 50, 20, fc='blue',ec="red")
plt.gca().add_patch(rectangle)
plt.axis('scaled')
plt.show()

哪个生成:

enter image description here

关于opencv - 如何在 python 中给定矩形的 4 个顶点绘制边界框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59641632/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com