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用来获得图片exif信息的库实例分析
Mar 16 Python
在Python的Tornado框架中实现简单的在线代理的教程
May 02 Python
python获取目录下所有文件的方法
Jun 01 Python
简单总结Python中序列与字典的相同和不同之处
Jan 19 Python
Python设计模式中单例模式的实现及在Tornado中的应用
Mar 02 Python
遗传算法之Python实现代码
Oct 10 Python
python实现BackPropagation算法
Dec 14 Python
Django框架模型简单介绍与使用分析
Jul 18 Python
Python企业编码生成系统之主程序模块设计详解
Jul 26 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
python双向链表原理与实现方法详解
Dec 03 Python
python为什么要安装到c盘
Jul 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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
PHP关联数组的10个操作技巧
2013/01/21 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
微信支付扫码支付php版
2016/07/22 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
jquery插件bootstrapValidator表单验证详解
2016/12/15 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
Nuxt配置Element-UI按需引入的操作方法
2020/07/06 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
寻找网站后台地址的python脚本
2014/09/01 Python
Python网络爬虫实例讲解
2016/04/28 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
python科学计算之narray对象用法
2019/11/25 Python
基于Python的OCR实现示例
2020/04/03 Python
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
澳大利亚一站式数码相机商店:CameraPro
2020/03/09 全球购物
如何理解委托
2012/01/06 面试题
给女朋友的道歉信
2014/01/10 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
邀请函范文
2015/02/02 职场文书
新闻稿怎么写
2015/07/18 职场文书
数学备课组工作总结
2015/08/12 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
Win11查看设备管理器
2022/04/19 数码科技