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中声明只包含一个元素的元组数据方法
Aug 25 Python
实例讲解Python中global语句下全局变量的值的修改
Jun 16 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
python语音识别实践之百度语音API
Aug 30 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
django 中使用DateTime常用的时间查询方式
Dec 03 Python
Python figure参数及subplot子图绘制代码
Apr 18 Python
python中if及if-else如何使用
Jun 02 Python
Python 用__new__方法实现单例的操作
Dec 11 Python
python复合条件下的字典排序
Dec 18 Python
Pycharm连接远程服务器并远程调试的全过程
Jun 24 Python
python数据可视化JupyterLab实用扩展程序Mito
Nov 20 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字符串的编码问题的详细介绍
2013/04/27 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
执行iframe中的javascript方法
2008/10/07 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
Node.js console控制台简单用法分析
2019/01/04 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
Python队列的定义与使用方法示例
2017/06/24 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
Python实现的三层BP神经网络算法示例
2018/02/07 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
2019/10/23 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
python matlab库简单用法讲解
2020/12/31 Python
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
const char*, char const*, char*const的区别是什么
2014/07/09 面试题
教师自我鉴定
2013/12/13 职场文书
化妆品促销方案
2014/02/24 职场文书
中学生评语大全
2014/04/18 职场文书
初三学习计划书范文
2014/04/30 职场文书
项目经理任命书内容
2014/06/06 职场文书