# 车胎横向分界线 k = 0.62849534 b = 21.8122503 """ 读取yolo网络识别路沿的坐标数据,筛选出目标区域的数据点,并将路沿上下侧数据分离 参数:保存数据的txt文件路径 返回值:在目标区域内的下侧数据点坐标x_bot、y_bot,上侧数据点坐标x_top,y_top """ def get_data(txt_name): with open(txt_name, 'r', encoding='utf-8') as f: lines = f.readlines() data = [] for i, line in enumerate(lines, 1): data.append(line.split()) # print(line.split()) x_bot = [] y_bot = [] x_top = [] y_top = [] k_num = 0 for i in range(len(data)): data[i][1] = 960 - int(data[i][1]) for i in range(len(data)): if k * int(data[i][0]) + b - int(data[i][1]) < 0: continue if i > 1: if (int(data[i][0]) - int(data[i-1][0]))*(int(data[i+2][0]) - int(data[i][0]))<0: k_num = i break; for i in range(len(data)): if k * int(data[i][0]) + b - int(data[i][1]) < 0: continue if i < k_num: x_bot.append(int(data[i][0])) y_bot.append(int(data[i][1])) else: x_top.append(int(data[i][0])) y_top.append(int(data[i][1])) # print(x_bot, y_bot, x_top, y_top) return x_bot, y_bot, x_top, y_top