IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 批量修改文件夹中图片序号及.json文件中字典的键名序号,并生成.txt文件将图片与转弯系数一一对应 -> 正文阅读

[Python知识库]批量修改文件夹中图片序号及.json文件中字典的键名序号,并生成.txt文件将图片与转弯系数一一对应

在完成智能车自主巡航任务时,我们需要采集车道线数据。即前向摄像头拍摄车道线图片,并与小车此时的转弯系数对应起来。车道线图片命名方式为 0.jpg、1.jpg、2.jpg··· 。图片对应的转弯系数则保存到.json文件中,文件内容为 {“0”: 0.jpg对应的转弯系数, “1”: 1.jpg对应的转弯系数, “2”: 2.jpg对应的转弯系数, ···}。为了能让不同时刻采集的数据拼接成一个数据集,我们需要对采集的图片序号及.json文件中键名序号进行批量修改,并生成.txt文件将图片与转弯系数对应起来。

一. 批量修改图片序号

假设我们有10张图片,保存在桌面的pic文件夹中:
在这里插入图片描述
我们想让它们的序号从0-9修改为10-19,则执行以下程序:

import os

path = 'C:/Users/Administrator/Desktop/pic'
filelist = os.listdir(path)

target_min = 10 #输入目标最小序号
current_min = 0 #输入当前最小序号

gap = target_min-current_min 
error_list = []

for item in filelist:
        if item.endswith('.jpg'):
                name = str(int(item.split(".",3)[0]) + gap)
                src = os.path.join(os.path.abspath(path),item)
                dst = os.path.join(os.path.abspath(path),name + '.jpg')
        try:
                os.rename(src,dst)
                print('rename from %s to %s'%(src,dst))

        except:
                error_list.append(item)
                continue
for item in error_list:
        if item.endswith('.jpg'):
                name = str(int(item.split(".",3)[0]) + gap)
                src = os.path.join(os.path.abspath(path),item)
                dst = os.path.join(os.path.abspath(path),name + '.jpg')
        try:
                os.rename(src,dst)
                print('rename from %s to %s'%(src,dst))

        except:
                error_list.append(item)
                continue

在这里插入图片描述

二. 修改.json文件中的键名序号

假设我们10张图片对应了10个转弯系数(此处转弯系数值为虚构,真实值需实际采集):
在这里插入图片描述
我们想让它们的序号从0-9修改为10-19,则执行以下程序:

import json

new_json={}
target_min=10 #输入目标最小序号
current_min=0 #输入当前最小序号

with open("C:/Users/Administrator/Desktop/pic/result.json","r") as load_f:
    load_dict = json.load(load_f)
    

for i in range(current_min,current_min+len(load_dict)):
   new_json[str(target_min)]=load_dict[str(i)]
   print("new_json{}=".format(str(target_min)),new_json[str(target_min)])
   target_min+=1


with open("C:/Users/Administrator/Desktop/pic/target.json","w") as dump_f:
    json.dump(new_json,dump_f)

在这里插入图片描述

三. 生成.txt文件

在这里插入图片描述

import json

FILE1 = 'result.json' #.json文件存储路径
NEW = 'd1.txt'#.txt文件存储路径
IMG_DIR = 'pic/' #图片存储路径

with open(NEW, 'w') as new:
    with open(FILE1, 'r') as file1:
        label_dict = json.load(file1)
        length = len(label_dict)
        idx = 0
        for name, label in label_dict.items():
            name = IMG_DIR + name + '.jpg'
            new.write(name)
            new.write('\t')
            new.write(str(label))
            if idx != length - 1:
                new.write('\n')
            idx += 1
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 13:48:31  更:2021-10-07 13:51:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 21:27:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计