CULane数据集处理,可用于后续车道线检测

该代码段用于读取CULane数据集中图片及其对应的车道线标注文件,将标注点在图片上显示出来,便于后期使用Fast-CNN进行检测。首先检查图片和标注文件是否存在,然后读取标注文件中的点坐标,用圆圈在图片上标出,并展示结果。程序会逐个处理train.txt文件中列出的图片路径。
摘要由CSDN通过智能技术生成

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()   
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值