train/val/annotation

import random

with open('annotation.txt', 'r') as ff:
    dataList = ff.readlines()
   
tempList = set(range(len(dataList)))
valIndex = set(random.sample(tempList, 760))
trainIndex = tempList - valIndex

valList = [dataList[i].strip() for i in list(valIndex)]
trainList = [dataList[i].strip() for i in list(trainIndex)]


with open('train.txt', 'w') as ff:
    ff.write('\n'.join(trainList))

with open('val.txt', 'w') as ff:
    ff.write('\n'.join(valList))

train/val切分

x,y,w,h = 140,48,160,75
    h_, w_ = 100, 230
    n = 16
    
    labelDict = []
    imgFiles = os.listdir("./datad/")
    for imgPath in imgFiles:
        imgPath = ''.join(["./datad/",imgPath])
        print(imgPath)
        img = cv2.imread(imgPath)
        newimg = coordinate(img)
        print(str(imgPath))
        img_index = str(imgPath).split('_',1)[1].split(".",1)[0]
        print(img_index)
        
        #sample = get_sample(img_index,newimg)
        #index = imgPath.index('.')
        
        #imgPath_ = ''.join([imgPath[:index], imgPath[-4:]])
        print(imgPath)
        #imgPath_ = f"{osp.split(imgPath_)[0]}/img_{osp.split(imgPath_)[1]}"
        #print(imgPath)
        labelfile = imgPath.replace('/datad/', '/label/').replace('.png', '_label.txt')
        
        with open(labelfile, 'r') as ff:
            labelList = ff.readlines()

        for i in range(n):
            a = i%2
            b = i//2
            print(a,b)

            #im = img[y+h_*b:y+h+h_*b, x+w_*a:x+w+w_*a]
            #cv2.imwrite(f'{i}.jpg', im)
            split_x1 = x+w_*a
            spiit_y1 = y+h_*b
            split_x2 = x+w+w_*a
            split_y2 = y+h+h_*b
            
            label = labelList[i].strip()
            
            labelDict.append(f"{imgPath}\t{split_x1},{spiit_y1},{split_x2},{split_y2}\t{label}")
            
    with open('annotation_sample.txt', 'w') as ff:
        ff.write('\n'.join(labelDict))

img和label转为annotation

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值