深度学习之图片转成pkl格式的训练集

2023-11-11

怎么使用python将文件夹下的图片转换pkl格式的训练集。

首先需要读取图片和图片所属的类别。

主要思路是:1.生成train.Thumbs.db 
                        2.生成label.Thumbs.db 
                        3.将train.Thumbs.db 和label.Thumbs.db合并成train.pkl

############################################################################################    
#!/usr/bin/python2.7    
# -*- coding: utf-8 -*-    
#Author  : zhaoqinghui    
#Date    : 2017.1.11   
#Function:  1.生成train.Thumbs.db 
#           2.生成label.Thumbs.db 
#           3.将train.Thumbs.db 和label.Thumbs.db合并成train.pkl
##########################################################################################  

import os
import cPickle    
import numpy  
from PIL import Image

'''
###############################################################
'''
#flag='train'
flag='test'
filename='test'
outfile='gait'+flag+'.pkl'
imgsize=32
'''
################################################################
'''

#获得文件夹下所有图片
def getFilePicture(folder):
    assert os.path.exists(folder)
    assert os.path.isdir(folder)
    PictureList = os.listdir(folder)
    PictureList = [str(folder)+'/'+item for item in PictureList]
    return PictureList

#转换函数  
def writepkltemp(rootDir): 
    for lists in os.listdir(rootDir): 
        path =rootDir+'/'+lists
        if os.path.isdir(path): 
            writepkltemp(path) 
        else:
            label=path.split('/',-1)[-2]
            print path,label
            img = Image.open(path)
            img = img.resize((imgsize,imgsize))
            if img.size>2:
               img=img.convert("1")
            img_ndarray = numpy.asarray(img, dtype='float64')#/256
            #print img_ndarray.shape
            global vector
            global vector_label
            global num
            #print len(numpy.ndarray.flatten(img_ndarray))
            vector[num]=numpy.ndarray.flatten(img_ndarray)
            vector_label[num]=int(label)
            num=num+1

#保存pkl格式图片集            
def writepkl(filename):
    writepkltemp(filename)

#获得文件夹下所有图片的数量
def getnum(rootDir): 
    for lists in os.listdir(rootDir): 
        path =rootDir+'/'+lists
        if os.path.isdir(path): 
            getnum(path) 
        else:
            global n
            n=n+1

#图片总量            
def getimgnum(numpath):
    getnum(numpath)
    
if __name__ == "__main__":
    num=0
    n=0
    numpath=filename
    getimgnum(numpath) 
    vector=numpy.empty((n,imgsize*imgsize))
    vector_label=numpy.empty(n)
    writepkl(filename)
    vector_label=vector_label.astype(numpy.int)
    write_file=open(outfile,'wb')
    cPickle.dump([vector[0:n],vector_label[0:n]], write_file,-1)
    write_file.close()


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习之图片转成pkl格式的训练集 的相关文章

随机推荐

  • Java线程中 suspend() 和 resume() 、wait() 和 notify()、park和unpark

    suspend 和 resume 方法 两个方法配套使用 suspend 使得线程进入阻塞状态 并且不会自动恢复 必须其对应的 resume 被调用 才能使得线程重新进入可执行状态 但suspend 方法阻塞时都不会释放占用的锁 很容易引起
  • PPPOE拨号过程

    索引 日 志 内 容 1 1738 发送PADR 2 1738 接收PADS Session ID 0x361D AC MAC 286ED421146A 3 1738 LCP tx Req MRU 05D4 Magic 0001A93C 4
  • 分别从资源管理,服务用户,进程交互,系统实现的角度分析操作系统的作用

    操作系统的主要作用 按老师来说这种题目要先答一下操作系统的定义 概念 操作系统的定义 操作系统是管理系统资源 控制程序执行 改善人机界面 提供各种服务 并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件 操作系统
  • nginx 健康检查配置

    nginx 配置 upstream test server 127 0 0 1 8001 max fails 2 fail timeout 30s server 127 0 0 1 8002 max fails 2 fail timeout
  • shell脚本之awk命令——分隔符介绍

    文章目录 awk入门 awk F awk命令之 分割符 awk命令之 分割符 awk入门 关于awk命令的基础用法 请参考Linux awk命令 awk F awk F F相当于内置变量FS 指定分割字符 fs是一个字符串或者是一个正则表达
  • 华为OD机试 C++ 优秀学员统计

    题目 任务 你的工作是帮我们找出打卡次数最多的前五名员工 有些小细节需要注意 如果两位员工打卡次数一样多 那么先打卡的员工排名更靠前 如果他们开始打卡的时间也一样 那就按照员工id的大小排序 id小的员工排在前面 输入 第一行是员工的数量N
  • Vue3 toRef

    toRef 可以用来为一个 reactive 对象的属性创建一个 ref 这个 ref 可以被传递并且能够保持响应性 作用 创建一个 ref 对象 其value值指向另一个对象中的某个属性 说明 在模板使用的时候 如果一个对象嵌套的太深 那
  • 利用OpenCV对视频进行拆帧处理

    文章目录 简介 输入输出 源代码 Python 简介 提供一种利用OpenCV对视频进行拆帧 并制作成图片集的方式 输入输出 输入 视频文件所在文件夹 输出 按视频文件命名的文件夹下保存图片 源代码 Python import cv2 im
  • C++中虚函数和非虚函数重载在继承时的区别

    这里唯一想说明的一点就是 使用虚函数继承时 当继承类被强转成基类后调用虚函数 调用的还是继承类的虚函数 而重载方式的继承类被强转成基类再调用重载函数 则调用的是基类的函数 废话不多说 上代码 cpp view plain copy incl
  • xss-labs/level11

    首先输入 丝毫不差 没有出现回弹现象 根本就不出人意料好吧 接着来看一下源代码好吧 能够看得出来第一个输出点由于htmlspecialchars转义操作 所以上述代码根本行不通 这一关比上一关又多了一个隐藏表单 一共是有四个隐藏表单 从第四
  • 【ARM】使用模板编写dht11温湿度linux驱动程序

    作者主页 凉开水白菜 作者简介 共同学习 互相监督 热于分享 多加讨论 一起进步 专栏资料 https gitee com stylle linux code 点赞 收藏 再看 养成习惯 订阅的粉丝可通过PC端文末加我微信 可对文章的内容进
  • #STM32 GPIO编程详解

    硬件环境 stm32f407zet6 软件环境 mdk5 1 GPIO概述 GPIO 翻译为通用输入输出 也就是软件可编程引脚 也就是MCU通过控制GPIO来完成一系列的功能 GPIO属于引脚 但引脚还包含电源 晶振 下载 boot 复位等
  • robotframework安装包_Robot Framework零基础入门教程

    1 介绍 1 1 介绍Robot Robot Framework是一个基于关键字驱动的自动化测试框架 通过该框架 测试人员可使用python封装关键字 并在非代码环境下使用关键字构建可被执行的测试用例 Robot Framework官方网站
  • 右下角对勾图形html,ZOJ 3203 Light Bulb(数学对勾函数)

    Light BulbTime Limit 1 Second Memory Limit 32768 KB Compared to wildleopard s wealthiness his brother mildleopard is rat
  • Windows部署证书颁发服务器

    证书颁发服务器的部署 1 Windows Server 证书是什么 Windows Server 证书是用于保护网络服务器的安全认证的重要工具 它是一种电子文件 由一个受信任的第三方机构 称为证书颁发机构 签发 用于确认网络服务器的身份 2
  • 贺TDSQL喜提286万QPS!本文回顾了它的十年锻造之路

    导读 2017年 在英特尔 腾讯金融分布式数据库TDSQL团队的共同见证下 TDSQL采用英特尔提供的高端平台 跑出了创造历史的最快性能数据 峰值286万QPS 相比于上一代处理器 性能提升了近4倍 是32核 220GB实例的38倍 TDS
  • fileinput组件将文件上传到服务器的路径编写方法以及Tomcat的配置

    1 先配置文件上传时Tomcat的虚拟路径 system file read location http localhost 8080 fileserversavepath 这是访问图片的地址 system file write locat
  • 数据库 数据丢失问题 及解决方案

    什么是数据丢失 两个线程基于同一个查询结果进行修改 后修改的人会将先修改人的修改覆盖掉 让我们先来看这么个小案例 我们给游戏充值100 支付成功后 银行会向游戏服务器发送支付成功信息 有一个订单支付信息表 order 和一个账户信息表 ac
  • RestTemplate的简单使用

    什么是RestTemplate Spring RestTemplate 是 Spring 提供的一种简单便捷的模板类 提供了多种便捷访问远程Http服务的方法 用于访问 Rest 服务的客户端 能够大大提高客户端的编写效率 RestTemp
  • 深度学习之图片转成pkl格式的训练集

    怎么使用python将文件夹下的图片转换pkl格式的训练集 首先需要读取图片和图片所属的类别 主要思路是 1 生成train Thumbs db 2 生成label Thumbs db 3 将train Thumbs db 和label T