尝试在opencv中使用boundingRect()
函数时出现错误。给出的是要点列表
lists = []
for match in enumerate(matches):
lists.append(kp2[match.trainIdx].pt)
x,y,w,h = cv2.boundingRect(lists)
P / s:我想在图像中检测到的对象周围绘制一个矩形
任何帮助表示赞赏
编辑
更改为np数组之前的列表
[(328.0, 227.0), (372.0, 241.0), (366.0, 229.0)]
之后
[[ 328. 227.] [ 372. 241.] [ 366. 229.]]
最佳答案
我只是有完全相同的问题。尚未解决,但以下是解决问题的代码:
points = ([1,1], [3,1], [3,3], [1,4])
xx, yy = zip(*points)
min_x = min(xx); min_y = min(yy); max_x = max(xx); max_y = max(yy)
bbox = [(min_x, min_y), (max_x, min_y), (max_x, max_y), (min_x, max_y)]