四个点排序

import os

#排序将四个按照左上,右上,右下,左下的方式排序,其中leftup和left_up的区别是,其中一个为2个坐标的标签,另外一个是从四个标签里面提出来的

def sort_number():
    # a='00205459770115-90_85-352&516_448&547-444&547_368&549_364&517_440&515-0_0_22_10_26_29_24-128-7.jpg'
    p = "./data/widerface/train/image/"
    path = os.listdir(p)
    with open('label.txt', 'a',encoding='utf-8') as f:
        for k in range(len(path)):
            iname = path[k].rsplit('/', 1)[-1].rsplit('.', 1)[0].split('-')
            [leftdown, rightup] = [[int(eel) for eel in el.split('&')] for el in iname[2].split('_')]
            leftUp=[leftdown[0],rightup[1]]
            rightDown=[rightup[0],leftdown[1]]
            data=[[int(eel) for eel in el.split('&')] for el in iname[3].split('_')]
            # print(data)
            for i in range(len(data)-1):
                for j in range(len(data)-1-i):
                    if data[j][0]>data[j+1][0]:
                        e=data[j+1]
                        data[j+1] =data[j]
                        data[j]=e
            if data[0][1]>data[1][1]:
                left_up = data[0]
                left_down = data[1]
            else:
                left_up=data[1]
                left_down = data[0]
            if data[2][1]>data[3][1]:
                right_up = data[2]
                right_down = data[3]
            else:
                right_up=data[3]
                right_down = data[2]


            x,y=leftdown[0],leftdown[1]
            x1,y1=left_up
            x2,y2=right_up
            x3,y3=right_down
            x4,y4=left_down
            w,h=rightDown[0]-leftUp[0],leftUp[1]-rightDown[1]
            second=str(str(x)+' '+str(y)+' '+str(w)+' '+str(h)+' '+str(x1)+' '+str(y1)+' '+'0.0'+' '+str(x2)+
                       ' '+str(y2)+' '+'0.0'+' '+str(x3)+' '+str(y3)+' '+'0.0'+' '+str(x4)+' '+str(y4)+' '+'0.0')
            s=str('#'+p+path[k]+'\n'+second+'\n')
            f.write(s)


sort_number()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

动物园园长扣扣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值