1. 程式人生 > >coco標註中的bbox +影象水平翻轉

coco標註中的bbox +影象水平翻轉

coco標註中的bbox資訊給的是(x,y,w,h)

在演算法中,需要把其轉化為(x1,x2,y1,y2)

一個圖片上的左上角為(0,0),如上圖所示,這樣轉換格式就不容易出問題

同時,如果圖片水平翻轉,座標應該如何變化呢

因為(x1,y1)總是代表bbox的左上角,那麼轉化的時候,看看轉換後那個是新的左上角,那個是新的原點,然後再新的座標系中計算座標。

影象水平翻轉程式碼 變換

        width = entry['width']
        boxes = entry['boxes'].copy()
        oldx1 = boxes[:, 0].copy()
        oldx2 = boxes[:, 2].copy()
        boxes[:, 0] = width - oldx2 - 1
        boxes[:, 2] = width - oldx1 - 1