用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)>>> barray([[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),)