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

问题描述 投票:0回答:1

[我正在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个顶点?

python opencv image-processing
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.