定义:检测指定的文件是否是一个目录,如果是则返回TRUE、否则返回FALSE


用法:

>>>type(info)
<class 'zipfile.ZipInfo'>
>>>info.is_dir()
True

读取人脸案例分析

  1. 导入人脸图片的信息库(img_ali.gn_cel.eba.zip
  2. 由于信息库是压缩包,我们需要调用python中的zipfile模块来对压缩包进行解压
  3. 使用read命令来获得文件库中的图片信息
  4. 此时获得的图片信息是以流的形式进行展示的,我们需要使用Numpy中的frombuffer方法,将流数据转换为ndarray对象
  5. 使用cv2中自带的imdecode方法将获得的一维的ndarray转换成三个通过的彩色图片
  6. 显示图片

导入相应的模块

import zipfile
import numpy as np # Numpy
import cv2  # OpenCV

获得图片的相对路径:

path = "..\\dl_data\\samples\\Img\\img_ali.gn_cel.eba.zip"

对文件夹进行解压(这里使用with…as…的用法。该用法稍后解释):

with zipfile.ZipFile(path) as zf:

开始遍历解压后的文件列表

for info in zf.filelist:

判断获得的info是否是目录,如果是目录则退出遍历

if info.is_dir(): continue

读取图片的流信息

img = zf.read(info.filename)

此时获得的图片信息如下:

b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01...

将获得的流信息转换成ndarray对象

img = np.frombuffer(img, np.uint8)

此时图片的信息如下:

array([255, 216, 255, ...,  71, 255, 217], dtype=uint8)

由于此时的图片是1维的需要通过OpenCV进行解码

img = cv2.imdecode(img,1)

最终得到的图片如下:

array([[[194, 231, 253],[194, 231, 253],[194, 231, 253],...,[216, 228, 246],[223, 237, 255],[222, 238, 254]],[[194, 231, 253],[194, 231, 253],[194, 231, 253],...,[218, 230, 248],[223, 237, 255],[222, 238, 254]],[[194, 231, 253],[194, 231, 253],[194, 231, 253],...,[220, 232, 250],[224, 238, 255],[223, 239, 255]],...,[[ 26,  74, 140],[  1,  49, 115],[ 33,  78, 146],...,[ 28,  55, 122],[ 30,  56, 123],[ 30,  56, 122]],[[ 15,  62, 130],[ 23,  70, 138],[ 53,  98, 166],...,[ 20,  49, 118],[ 24,  50, 120],[ 24,  51, 118]],[[ 53, 100, 168],[ 89, 136, 204],[132, 177, 245],...,[ 20,  49, 118],[ 24,  50, 120],[ 24,  50, 120]]], dtype=uint8)

显示图片:

            cv2.imshow("img1", img)cv2.waitKey(0)

显示如下:


整体代码如下:

# -*-coding:utf-8-*-
import zipfile
import numpy as np
import cv2if __name__ == '__main__':path = "E:\\dl_data\\samples\\Img\\img_ali.gn_cel.eba.zip"with zipfile.ZipFile(path) as zf:for info in zf.filelist:if info.is_dir(): continueprint(info)img = zf.read(info.filename)img = np.frombuffer(img, np.uint8)img = cv2.imdecode(img,1)cv2.imshow("img1", img)cv2.waitKey(2000)

python 探究is_dir函数及其使用案例(读取人脸图片)附整体代码相关推荐

  1. Python教学 | Python 中的分支结构(判断语句)【附本文代码和数据】

    查看原文:[数据seminar]Python教学 | Python 中的分支结构(判断语句)[附本文代码和数据] Part1引言 上期文章我们学习了组合数据类型字典以及元组,这标志着 Python 基 ...

  2. Python:制作一个模拟扔硬币的程序(附完整代码)

    Python:制作一个模拟扔硬币的程序(附完整代码) 在这个项目中,我们将编写一个Python程序来模拟扔硬币的方式.我们会使用Python内置的随机模块,实现随机出现正面或反面的效果. 首先,我们需 ...

  3. node函数 python_成为Python大牛必须要掌握的高端语法(附链接代码)

    来源:机器学习算法与Python实战 本文约3000字,建议阅读5分钟 必要掌握的高端语法助你成为Python大牛. 这是stackoverflow上一个关于python中yield用法的帖子,这里翻 ...

  4. 成为Python大牛必须要掌握的高端语法(附链接代码)

    来源:机器学习算法与Python实战 本文约3000字,建议阅读5分钟 必要掌握的高端语法助你成为Python大牛. 这是stackoverflow上一个关于python中yield用法的帖子,这里翻 ...

  5. python连乘函数_(Python3) 连加 连乘 代码

    原博文 2019-01-27 21:25 − a=[1,2,3,4,5,6,7,8,9,10] #连加 b=0 for i in a: b+=i print(b) #连乘 c=1 for i in a ...

  6. 基于Python的OpenCV函数----imshow(winname, mat)【显示图片】

    函数名称 imshow(winname, mat) -> None 摘要 在指定窗口中显示图像. 描述 函数imshow在指定的窗口中显示一个图像.如果窗口是用cv::WINDOW_AUTOSI ...

  7. python中level函数的用法_Python Pandas MultiIndex.sortlevel()用法及代码示例

    Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统. Pandas是其中的一种,使导入和分析数据更加容易. Pandas MultiIndex.so ...

  8. 最新版学习笔记---Python机器学习基础教程(1)Irises(鸢尾花)分类---附完整代码

    开始学习机器学习基础,在此留下学习心得与自己的理解. 啥也不说,先看一下鸢尾花啥样 好看吧~~~~ Iris 1.环境搭建 2.了解数据 2.1读取数据 2.2查看数据 3.分离数据 4.构建模型(k ...

  9. csv导入mysql_京东金融数据分析:MySQL+HIVE的结合应用案例详解【附全代码】

    - 点击上方"中国统计网"订阅我吧!-  文末领取[案例数据集+全部代码] 给定的数据为业务情景数据,所有数据均已进⾏了采样和脱敏处理,字段取值与分布均与真实业务数据不同.提供了时 ...

  10. 如何用 Python 爬取网易云音乐的 10w+ 评论?附详细代码解读

    在简单学习了Python爬虫之后,我的下一个目标就是网易云音乐.因为本人平时就是用它听的歌,也喜欢看歌里的评论,所以本文就来爬一爬网易云音乐的评论吧! 正式进入主题 首先是找到目标网页并分析网页结构, ...

最新文章

  1. simple go web application 二维码生成 打包部署
  2. 当执行打印预览window.close无效
  3. python在函数内部有没有办法定义全局变量_主函数内部的全局变量python
  4. hdu 3105 Fred's Lotto Tickets (水)
  5. Python开发Day07(学生选课)
  6. 专访何红辉:谈谈Android源码中的设计模式
  7. shell卸载 simatic_西门子软件在WIN7操作系统中安装步骤和须知
  8. 计算机高配置表cpu,高配置电脑配置清单
  9. FPS 每秒传输帧数(Frames Per Second)
  10. flask_uploads——“ImportError: cannot import name ‘secure_filename‘ from ‘werkzeug‘“
  11. 利用C51单片机内部函数_corl_函数实现LED流水灯。
  12. 转:稻盛和夫:幸福的那些“法”,背后承载的“道”是什么?
  13. 音量公式_家庭影院功放功率与音量之间的秘密
  14. IVL和SVL的区别
  15. python计算器教程vscode_第3天 | 12天搞定Python,用VSCode编写代码
  16. JAVA宠物医院管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
  17. python matplotlib绘制折线图_Matplotlib实践系列:折线图完全示例
  18. 【防坑指南】nginx重启后出现[error] open() “/usr/local/var/run/nginx/nginx.pid” failed
  19. win10.10 激活
  20. Dubbox框架使用手册

热门文章

  1. php文件显示文字乱码怎么解决,php遍历到的文件是中文文件名 显示为乱码 该如何解决...
  2. 如何在html中做超链接,如何在HTML上做一个超链接?
  3. 计算机基础-路由器、光猫、交换机、电脑之间的连接关系
  4. HDU5745 La Vie en rose
  5. Windows事件查看器介绍
  6. 服务器系统事件id1001,WIN10事件查看器,ID1000,ID1001 問題
  7. 计算机专业论文指导教师评语,指导老师论文评语
  8. 从淘宝P5到天猫总监,她的阿里十年发生了什么?
  9. Observable与Subject
  10. postman面试_接口测试面试常见问题