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 相关文章推荐
下载给定网页上图片的方法
Feb 18 Python
Python使用os模块和fileinput模块来操作文件目录
Jan 19 Python
Python实现HTTP协议下的文件下载方法总结
Apr 20 Python
使用sklearn之LabelEncoder将Label标准化的方法
Jul 11 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
Jun 28 Python
浅谈django url请求与数据库连接池的共享问题
Aug 29 Python
Django2 连接MySQL及model测试实例分析
Dec 10 Python
Python如何使用bokeh包和geojson数据绘制地图
Mar 21 Python
基于django micro搭建网站实现加水印功能
May 22 Python
Python astype(np.float)函数使用方法解析
Jun 08 Python
Python使用Selenium模拟浏览器自动操作功能
Sep 08 Python
Python数据类型最全知识总结
May 31 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
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
javascript new后的constructor属性
2010/08/05 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
2014/07/09 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
jquery easyUI中ajax异步校验用户名
2016/08/19 Javascript
JS实现touch 点击滑动轮播实例代码
2017/01/19 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
2020/08/12 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
python 生成目录树及显示文件大小的代码
2009/07/23 Python
Python的面向对象编程方式学习笔记
2016/07/12 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
python实现汽车管理系统
2018/11/30 Python
Python如何省略括号方法详解
2020/03/21 Python
Python3 io文本及原始流I/O工具用法详解
2020/03/23 Python
Python json格式化打印实现过程解析
2020/07/21 Python
空指针到底是什么
2012/08/07 面试题
什么是跨站脚本攻击
2014/12/11 面试题
教师对学生的寄语
2014/04/03 职场文书
求职教师自荐书
2014/06/19 职场文书
学前班语言教学计划
2015/01/20 职场文书
2015国庆节66周年演讲稿
2015/03/20 职场文书
离婚民事起诉状
2015/08/03 职场文书
《包身工》教学反思
2016/02/23 职场文书
详解MySQL InnoDB存储引擎的内存管理
2021/04/08 MySQL
pandas数值排序的实现实例
2021/07/25 Python
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers