numpy的shape 和 gt的x、y坐标之间容易引起误会

用numpy来看shape,比如np.shape(img_data),会得到这样的结果(600,790,3)

注意:600不是横坐标,而是表示多少列,790才是横坐标

用numpy测试就可以看出:

>>> import numpy as np
>>> a = [[1,2,3],[1,2,3]]                                                                   
>>> b = np.array(a)
>>> b
array([[1, 2, 3],
       [1, 2, 3]])
>>> np.shape(a)
(2, 3)

包括calculate.py 中的代码也看的出来:

image = data_dict['data']
original_height, original_width, _ = image.shape

但是坐标标注的时候是x、y坐标的,所以看着会以为两者出错误:  

利用cv2可视化的时候,还是直接添加x、y坐标就好了

cv2.line(img_data,(int(bbox[0][0]),int(bbox[0][1])),(int(bbox[0][2]),int(bbox[0][3])),(255,0,0),)

原文地址:https://www.cnblogs.com/ymjyqsx/p/10244911.html