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 time模块详解(常用函数实例讲解,非常好)
Apr 24 Python
python通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
尝试用最短的Python代码来实现服务器和代理服务器
Jun 23 Python
Python验证文件是否可读写代码分享
Dec 11 Python
200 行python 代码实现 2048 游戏
Jan 12 Python
python中的内置函数max()和min()及mas()函数的高级用法
Mar 29 Python
Python实现针对json中某个关键字段进行排序操作示例
Dec 25 Python
简单了解Django ContentType内置组件
Jul 23 Python
Keras预训练的ImageNet模型实现分类操作
Jul 07 Python
Python系统公网私网流量监控实现流程
Nov 23 Python
解决pytorch 模型复制的一些问题
Mar 03 Python
Python离线安装openpyxl模块的步骤
Mar 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
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
php从右向左/从左向右截取字符串的实现方法
2011/11/28 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
js Html结构转字符串形式显示代码
2011/11/15 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
AngularJs页面筛选标签小功能
2016/08/01 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
JS优化与惰性载入函数实例分析
2017/04/06 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
使用vue-infinite-scroll实现无限滚动效果
2018/06/22 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
简单的通用表达式求10乘阶示例
2014/03/03 Python
python检测远程udp端口是否打开的方法
2015/03/14 Python
Python实现单词拼写检查
2015/04/25 Python
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
2017/11/15 Python
Django实现学生管理系统
2019/02/26 Python
Django Aggregation聚合使用方法解析
2019/08/01 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
新电JAVA笔试题目
2014/08/31 面试题
小学生班会演讲稿
2014/01/09 职场文书
追悼会主持词
2014/03/20 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
贫困生证明范文
2015/06/16 职场文书
2016年小学党支部创先争优活动总结
2016/04/05 职场文书
php7中停止php-fpm服务的方法详解
2021/05/09 PHP
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技