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

Opencv 如何在python中绘制给定矩形4个顶点的边界框?,opencv,image-processing,Opencv,Image Processing,我正在开发OCR应用程序,为图像提供的注释有4个traingle顶点,如下所示 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 =

我正在开发OCR应用程序,为图像提供的注释有4个traingle顶点,如下所示

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()
产生:


找到x和y的最小/最大值有什么困难?@KlausD。这就是找到这些值的方式吗?--(x1-x3),(y1-y3),(x2-x4),(y2-y4)我尝试使用patchers.rectangle,但它没有显示在我的图像上。你能帮我个忙吗?我用了
rect=Rectangle((x1,y1),width=x4-x1,height=y2-y1,linewidth=1,edgecolor='r')
然后
ax,add_patch(rect)
但它没有打印anything@user_12我不知道你有什么问题,但你可以看到编辑,它工作得很好
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()