python方法生成txt标签文件的实例代码


Posted in Python onMay 10, 2018

1、如果想要利用代码(不论是python、c++、亦或是matlab)实现生成标签文件,首先,也是灰常重要的一件事就是你的图片集一定要是有规律的命名。数字字母顺序排开。这一点非常重要,相关重命名方法请自行百度或请教大牛。

2、如图为博主的图片集。(注意命名规律)

博主只分为猫和鸟两类。

python方法生成txt标签文件的实例代码

3、看代码。

在caffe根目录下创建一个我们的工程目录my-caffe-project

创建并编辑create_db.py文件,使用如下指令:

vim create_db.py

然后,代码内容就是我们的重点了。注意相关变量和路径的修改。

# -*- coding: UTF-8 -*-
import os
import re

"""
函数说明:生成图片列表清单txt文件

Parameters:
 images_path - 图片存放目录
 txt_save_path - 图片列表清单txt文件的保存目录
Returns:
 无
Author:
 Jack Cui
Modify:
 2017-03-29
"""
def createFileList(images_path, txt_save_path):
 #打开图片列表清单txt文件
 fw = open(txt_save_path,"w")
 #查看图片目录下的文件,相当于shell指令ls
 images_name = os.listdir(images_path)
 #遍历所有文件名
 for eachname in images_name:
 #正则表达式这里可以根据情况进行更改,如果多类记得仿照下面定义相关变量
 #正则表达式规则:找以cat开头,紧跟0到49个数字,并以jpg结尾的图片文件
 pattern_cat = r'(^cat\d{0,49}.jpg$)'
 #正则表达式规则:找以bird开头,紧跟0到49个数字,以jpg结尾的图片文件
 pattern_bird = r'(^bird\d{0,49}.jpg$)'#更改变量名需要定义
 #正则表达式匹配
 cat_name = re.search(pattern_cat, eachname)
 bird_name = re.search(pattern_bird, eachname)
 #按照规则将内容写入txt文件中
 if cat_name != None:
  fw.write(cat_name.group(0) + ' 1\n')
 if bird_name != None:
  fw.write(bird_name.group(0) + ' 2\n')#如果分为多类,多加几个if便是。当然相关变量也要记得定义。
 #打印成功信息
 print "生成txt文件成功"
 #关闭fw
 fw.close()

#下面是相关变量定义的路径
if __name__ == '__main__':
 #caffe_root目录
 caffe_root = '/home/xn/caffe/'
 #my-caffe-project目录
 my_caffe_project = caffe_root + 'my-caffe-project/'
 #图片存放目录
 images_path = caffe_root + 'data/mydata/myimagenet/train/'
 #生成的图片列表清单txt文件名
 txt_name = 'train.txt'
 #生成的图片列表清单txt文件的保存目录
 txt_save_path = my_caffe_project + txt_name
 #生成txt文件
 createFileList(images_path, txt_save_path)

完成。如果想要生成测试标签文件类似。

以上这篇python方法生成txt标签文件的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中死锁的形成示例及死锁情况的防止
Jun 14 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
Aug 30 Python
对numpy中shape的深入理解
Jun 15 Python
python 实现对文件夹中的图像连续重命名方法
Oct 25 Python
更新修改后的Python模块方法
Mar 03 Python
python super的使用方法及实例详解
Sep 25 Python
Python(PyS60)实现简单语音整点报时
Nov 18 Python
基于Tensorflow使用CPU而不用GPU问题的解决
Feb 07 Python
基于python代码批量处理图片resize
Jun 04 Python
Tensorflow tensor 数学运算和逻辑运算方式
Jun 30 Python
Django mysqlclient安装和使用详解
Sep 17 Python
使用python向MongoDB插入时间字段的操作
May 18 Python
Python处理菜单消息操作示例【基于win32ui模块】
May 09 #Python
Python创建普通菜单示例【基于win32ui模块】
May 09 #Python
Python使用Windows API创建窗口示例【基于win32gui模块】
May 09 #Python
Python基于win32ui模块创建弹出式菜单示例
May 09 #Python
numpy中的delete删除数组整行和整列的实例
May 09 #Python
java中两个byte数组实现合并的示例
May 09 #Python
Python 使用PIL numpy 实现拼接图片的示例
May 08 #Python
You might like
php封装的page分页类完整实例
2016/10/18 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
读jQuery之十 事件模块概述
2011/06/27 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
easyui datagrid 键盘上下控制选中行示例
2014/03/31 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
图片上传之FileAPI与NodeJs
2017/01/24 NodeJs
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
基于vue组件实现猜数字游戏
2020/05/28 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
深入理解javascript prototype的相关知识
2019/09/19 Javascript
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
python处理二进制数据的方法
2015/06/03 Python
python实现文件快照加密保护的方法
2015/06/30 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
python实现识别手写数字 python图像识别算法
2020/03/23 Python
python 调试冷知识(小结)
2019/11/11 Python
Python3标准库之threading进程中管理并发操作方法
2020/03/30 Python
CSS3中线性颜色渐变的一些实现方法
2015/07/14 HTML / CSS
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
专科毕业生就业推荐信
2013/11/01 职场文书
企业口号大全
2014/06/12 职场文书
银行授权委托书格式
2014/10/10 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
Python Django搭建文件下载服务器的实现
2021/05/10 Python
浅谈JS的原型和原型链
2021/06/04 Javascript
Java中使用Filter过滤器的方法
2021/06/28 Java/Android
Win11 Build 22000.829更新补丁KB5015882发布(附更新修复内容汇总)
2022/07/15 数码科技