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返回昨天日期的方法
May 13 Python
python基础while循环及if判断的实例讲解
Aug 25 Python
django 解决manage.py migrate无效的问题
May 27 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
Jun 03 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
Jun 14 Python
python实现键盘输入的实操方法
Jul 16 Python
Python 使用元类type创建类对象常见应用详解
Oct 17 Python
通过python连接Linux命令行代码实例
Feb 18 Python
python 串行执行和并行执行实例
Apr 30 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
Mar 02 Python
python文件名批量重命名脚本实例代码
Apr 22 Python
实例讲解Python中sys.argv[]的用法
Jun 03 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函数
2006/12/06 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
Maps Javascript
2007/01/22 Javascript
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
jQuery客户端分页实例代码
2013/11/18 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
深入探究node之Transform
2017/07/20 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
[45:52]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第二场 12.09
2020/12/12 DOTA
python del()函数用法
2013/03/24 Python
pycharm 使用心得(二)设置字体大小
2014/06/05 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
python @property的用法及含义全面解析
2018/02/01 Python
python去除文件中重复的行实例
2018/06/29 Python
python挖矿算力测试程序详解
2019/07/03 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
python 函数的缺省参数使用注意事项分析
2019/09/17 Python
浅析python连接数据库的重要事项
2021/02/22 Python
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
教师专业理论水平的自我评价分享
2013/11/09 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
2015国庆节感想
2015/08/04 职场文书
解决golang在import自己的包报错的问题
2021/04/29 Golang
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js