车道线检测数据集tusimple数据集(json)转换脚本

数据集链接:下载地址.,翻墙下载会快一些,国内下载基本下不下来,实在下不了等我数据集上传完了会放百度云链接.
(提取码: v17j)
代码参考博客:json转换成png.
重点来了!!!
首先新建两个文件夹一个放原图一个放标签图(png),然后按照参考博客解析json文件,注意更改opencv读取图片时的路径,原博客是直接从json文件了取的相对路径,为了避免路径错误你可以改成绝对路径。

import cv2
import json
import numpy as np
import os

file=open('F://study//tusimple//label_data_0531.json','r')
path = 'F:/study/tusimple/'
image_num=0


for line in file.readlines():
    data=json.loads(line)
    #print(path+os.sep+data['raw_file'])
    image=cv2.imread(path+os.sep+data['raw_file'])
    binaryimage=np.zeros((image.shape[0],image.shape[1],1),np.uint8)
    instanceimage=binaryimage.copy()
    arr_width=data['lanes']
    arr_height=data['h_samples']
    width_num=len(arr_width)
    height_num=len(arr_height)
    for i in range(height_num):
        lane_hist=0
        for j in range(width_num):
            if arr_width[j][i-1]>0 and arr_width[j][i]>0:
                binaryimage[int(arr_height[i]),int(arr_width[j][i])]=255
                instanceimage[int(arr_height[i]),int(arr_width[j][i])]=lane_hist
                if i>0:
                    cv2.line(binaryimage, (int(arr_width[j][i-1]),int(arr_height[i-1])), (int(arr_width[j][i]),int(arr_height[i])), 255, 10)
                    cv2.line(instanceimage,(int(arr_width[j][i-1]),int(arr_height[i-1])), (int(arr_width[j][i]),int(arr_height[i])), lane_hist, 10)
                lane_hist+=1
    string1=path +'data_0531'+os.sep+'gt_image_binary'+os.sep+str(image_num)+".png"
    string2=path +'data_0531'+os.sep+'gt_image_instance'+str(image_num)+".png"
    string3=path +'data_0531'+os.sep+'image'+str(image_num)+".jpg"
    #print(string1)
    cv2.imwrite(string1,binaryimage)
    cv2.imwrite(string2,instanceimage)
    cv2.imwrite(string3,image)
    image_num=image_num+1
file.close()

我的文件目录如下,仅供参考:
在这里插入图片描述
在这里插入图片描述
生成的标签图效果如下:
在这里插入图片描述

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值