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 09 Python
Python正则表达式使用范例分享
Dec 04 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
Apr 19 Python
Python3.6实现连接mysql或mariadb的方法分析
May 18 Python
python使用matplotlib库生成随机漫步图
Aug 27 Python
漂亮的Django Markdown富文本app插件的实现
Jan 02 Python
Python虚拟环境的原理及使用详解
Jul 02 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
Python sorted排序方法如何实现
Mar 31 Python
python代码实现将列表中重复元素之间的内容全部滤除
May 22 Python
python 实现体质指数BMI计算
May 26 Python
Python实现仓库管理系统
May 30 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者的疑难问答(2)
2006/10/09 PHP
php中的一个中文字符串截取函数
2007/02/14 PHP
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
php操作SVN版本服务器类代码
2011/11/27 PHP
php 检查电子邮件函数(自写)
2014/01/16 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
降低PHP Redis内存占用
2017/03/23 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
2018/12/18 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
谷歌浏览器 insertCell与appendChild的区别
2009/02/12 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
JS正则匹配中文的方法示例
2017/01/06 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
vue弹窗组件的实现示例代码
2018/09/10 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
[02:35]DOTA2超级联赛专访XB 难忘一年九冠称王
2013/06/20 DOTA
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
python任务调度实例分析
2015/05/19 Python
python如何统计序列中元素
2020/07/31 Python
python实现隐马尔科夫模型HMM
2018/03/25 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
售后主管岗位职责
2013/12/08 职场文书
大学同学聚会邀请函
2014/01/29 职场文书
祖国在我心中的演讲稿
2014/05/04 职场文书
Nginx进程调度问题详解
2021/09/25 Servers
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库