1. 程式人生 > >numpy的shape 和 gt的x、y坐標之間容易引起誤會

numpy的shape 和 gt的x、y坐標之間容易引起誤會

nump int import idt code 坐標 表示 origin 之間

用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),)

numpy的shape 和 gt的x、y坐標之間容易引起誤會