CULane数据集处理,将标注点显示到图片上,用于后期Fast-CNN检测
以下是源码
# -*- coding: utf-8 -*-
"""
Created on Fri Jan 15 17:22:54 2021
@author: yuyanchuan
"""
import os
import cv2
import numpy as np
from time import sleep
basedir=r'D:\BaiduNetdiskDownload\CULane'
def get_laneData(filepath):
labelpath=filepath.replace('jpg','lines.txt')
img=None
imgLable=None
if os.path.exists(filepath) and os.path.exists(labelpath) and os.path.getsize(labelpath):
print("图片地址存在,label地址存在")
img=cv2.imread(filepath)
labelPos=[]
for line in open(labelpath):
labelPos.append(line.strip('\n'))
# imgLable=np.zeros(img.shape)
imgLable=img.copy()
#存储所有到路线的位置信息
print(labelPos)
for lpos in labelPos:
#位置信息通过空格隔开
labelC=lpos.split(' ')[:-1]
ylist=labelC[::2]
xlist=labelC[1::2]
print(len(xlist))
print(len(ylist))
for idx,ivalue in enumerate(xlist):
cv2.circle(imgLable,(int(float(ylist[idx])),int(float(xlist[idx]))),2,(0,0,255),2)
else:
print("图片地址不存在或者Lable地址不存在")
return img,imgLable
text_path=r'list\train.txt'
#with open(os.path.join(basedir,text_path),'r') as fr:
for line in open(os.path.join(basedir,text_path)):
data=line
print(os.path.abspath(os.path.join(basedir,data[1:].strip('\n'))))
img,imglabel=get_laneData(os.path.join(basedir,data[1:].strip('\n')))
#print(imglabel)
if imglabel is not None:
imglabel=cv2.resize(imglabel,(1024,512))
cv2.imshow('dsd',imglabel)
sleep(1)
if cv2.waitKey(1) & 0xFF == ord('q'): #按q退出
cv2.waitKey(0)
cv2.destroyAllWindows()