小白深度学习起步中——读取人像图像
人脸图像读取
- 首先,先调用三个库
import numpy as npimport cv2import zipfile
- 然后确定一下主程序,搞清楚我们这个程序的目的。是为了从解压解压上读取图像。
if __name__ == '__main__':path = 'D:\\DeepBlue\\samples\\celeba\\Eval\\Img\\img_ali.gn_cel.eba.zip' # 解压路径ca = CelebA()cv2.imshow(ca.imgs[1000])cv2.waitKey()
- 然后定义一个类CelebA,在构造方法里 ,定义imgs。
class CelebA:def __init__(self,path):self.imgs = []
- 紧接着放一个with语句对zipfile.ZipFile(path)做一个抛出异常操作,并将zipfile.ZipFile(path)命名为zf(zipfile.ZipFile(path)就是openc中解压文件的方法)
with zipfile.ZipFile(path) as zf: # 解压文件
- 用is_dir函数判断info文件否是文件夹,如果是就跳过。
for info in zf.filelist:if info.is_dir(): continue # is_die(检查是否是目录)————>bool
- 首先从我们的filename中提取出流数据,并转化成uint8数据,最后对uint8数据进行解码使其形成图片
img = zf.read(info.filename)
img = np.frombuffer(img, np.uint8) # frombuffer 收集数据,uint8:将收集的数据转制为八位的数组
img = cv2.imdecode(img, 1) # cv2.imdecode:解码成图,1是彩图,2是灰度图
- 然后找出名字并将图像存储到imgs列表中
name = info.filename[info.filename.rfind('/')+1:]self.imgs.append(img)
- 因为不断地输出名字会显得很杂乱无章,所以这里我们让他每完成10000组图像的读取进行一次说明
if len(self.imgs) % 10000 == 0:print('Read %d imgs' % len(self.imgs))
- 最后输出完成语句
print('Read %d imgs from %s successfully!' % (len(self.imgs),path),flush=True) #flush参数主要是刷新, 默认flush = False,不刷新,True则反之
完整代码:
import zipfile
import numpy as np
import cv2
class CelebA:def __init__(self,path):self.imgs = []with zipfile.ZipFile(path) as zf: # 解压文件for info in zf.filelist:if info.is_dir(): continue# is_die(检查是否是目录)————>boolimg = zf.read(info.filename)img = np.frombuffer(img, np.uint8) # frombuffer 收集数据,uint8:将收集的数据转制为八位的数组img = cv2.imdecode(img, 1) # cv2.imdecode:解码成图,1是彩图,2是灰度图name = info.filename[info.filename.rfind('/')+1:]self.imgs.append(img)if len(self.imgs) % 10000 == 0:print('Read %d imgs' % len(self.imgs))print('Read %d imgs from %s successfully!' % (len(self.imgs),path),flush=True) #flush参数主要是刷新, 默认flush = False,不刷新,True则反之。if __name__ == '__main__':path = 'D:\\DeepBlue\\samples\\celeba\\Eval\\Img\\img_ali.gn_cel.eba.zip' # 解压路径ca = CelebA()cv2.imshow(ca.imgs[1000])cv2.waitKey()
结果如图:
小白深度学习起步中——读取人像图像相关推荐
- 深度学习数据集标注工具、图像语料数据库等资源
NLP+VS︱深度学习数据集标注工具.图像语料数据库.实验室搜索ing... 2017年02月07日 12:12:01 阅读数:27032 ~~因为不太会使用opencv.matlab工具,所以在找一 ...
- 什么是生成对抗网络(GAN)| 小白深度学习入门
小白深度学习入门系列 1. 直观理解深度学习基本概念 2. 白话详解ROC和AUC 3. 什么是交叉熵 4. 神经网络的构成.训练和算法 5. 深度学习的兴起:从NN到DNN 6. 异军突起的激活函数 ...
- 【AI初识境】深度学习模型中的Normalization,你懂了多少?
文章首发于微信公众号<有三AI> [AI初识境]深度学习模型中的Normalization,你懂了多少? 这是<AI初识境>第6篇,这次我们说说Normalization.所谓 ...
- 深度学习训练中关于数据处理方式--原始样本采集以及数据增广
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/SMF0504/article/details/78695908 好久没有写博客,一直想重新调整自己的 ...
- 寻找下一款Prisma APP:深度学习在图像处理中的应用探讨
在9月23日到9月24日的MDCC 2016年中国移动者开发大会"人工智能与机器人"专场中,阿里云技术专家周昌进行了题为<寻找下一款Prisma APP:深度学习在图像处理中 ...
- Python 中的可执行对象 eval,exec 和 compile与其在深度学习训练中的应用实例
Python 中的可执行对象 eval,exec 和 compile 与其在深度学习训练中的应用实例 eval 计算指定表达式的值.也就是说它要执行的python代码只能是单个表达式(注意eval不支 ...
- 基于深度学习的青菜病害区域图像语义分割与定位
基于深度学习的青菜病害区域图像语义分割与定位 1.研究思路 提出了一种基于深度学习的青菜灾害区域图像语义分割的方法,通过 fine-tune FCN 以像素级精度分割出图像中作物灾害区进行识别,并借助 ...
- 深度学习框架中的魔鬼:探究人工智能系统中的安全问题
ISC 2017中国互联网安全大会举办了人工智能安全论坛. 我们把论坛总结成为一系列文章,本文为系列中的第一篇. 深度学习引领着新一轮的人工智能浪潮,受到工业界以及全社会的广泛关注. 虽然大家对人工智 ...
- FPGA在深度学习应用中或将取代GPU
FPGA在深度学习应用中或将取代GPU 本文来源:AI前线 作者 | Ben Dickson 译者 | 大小非 人工智能的兴起触发了市场对 GPU 的大量需求,但 GPU 在 AI 场景中的应用面临使 ...
最新文章
- Docker 与 DevOps自动化部署实践
- 200t不稳定_技术革新!将不可能变为可能 这家企业是怎么做到的?
- [ 转载 ] Java基础14--创建线程的两个方法
- 随想录(推荐『步步惊芯 - 软核处理器内部设计分析』这本书)
- Layui--颜色选择器layui.colorpicker
- 【文献阅读】ResNet-Deep Residual Learning for Image Recognition--CVPR--2016
- 设计模式(十六)迭代器模式 Iterator
- windows server 2008 R2 集成USB3.0驱动--成功实现
- mysql 5.7 64位 解压版安装
- AutoCAD.Net 实现创建wipeout遮罩实体
- [唯一分解定理]感谢ZLY讲解
- 无座火车票为什么不能半价?
- python Stark 组件
- 作业帮发布新品学习机,首创“AI老师一对一”模式
- 给我半首歌的时间,给你说明白Immutable List
- 108将的绰号及其归宿
- Wince系统设置开机启动方式--注册表方式
- IEEE Trans 2006 使用K-SVD构造超完备字典以进行稀疏表示(稀疏分解)
- 有什么毫不起眼,却可以闷声发大财的工作?
- Java企业员工信息管理系统源码