python怎样读取文件夹里的图片_python图片处理及识别

python怎样读取文件夹里的图片_python图片处理及识别Python进行图片处理,第一步就是读取图片,这里给大家整理了6种图片的读取方式,并将读取的图片装换成numpy.ndarray()格式。首先需要准备一张照片,假如你有女朋友的话,可以用…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Python进行图片处理,第一步就是读取图片,这里给大家整理了6种图片的读取方式,并将读取的图片装换成numpy.ndarray()格式。首先需要准备一张照片,假如你有女朋友的话,可以用女朋友的,没有的话,那还学啥Python,赶紧找对象去吧!

python怎样读取文件夹里的图片_python图片处理及识别

一、OpenCV读取图片

OpenCV读取的图片,直接就是numpy.ndarray格式,无需转换

import cv2
img_cv   = cv2.imread(dirpath)#读取数据
print("img_cv:",img_cv.shape)
img_cv: (1856, 2736, 3)
print("img_cv:",type(img_cv))
img_cv: <class 'numpy.ndarray'>
#看下读取的数据怎么样
img_cv
array([[[  0,   3,   0],
        [ 11,  20,  17],
        ...,
        [  5,  23,  16]],
       [[  0,   2,   0],
        ...,
        [  5,  23,  16]]]

 

二、PIL读取图片

PIL读取的图片并不是直接的numpy.ndarray格式,需要进行转换

from PIL import Image
import numpy as np


img_PIL = Image.open(dirpath)#读取数据


print("img_PIL:",img_PIL)
img_PIL: <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=2736x1856 at 0x2202A8FC108>


print("img_PIL:",type(img_PIL))
img_PIL: <class 'PIL.JpegImagePlugin.JpegImageFile'>


#将图片转换成np.ndarray格式
img_PIL = np.array(img_PIL)
print("img_PIL:",img_PIL.shape)
img_PIL: (1856, 2736, 3)
print("img_PIL:",type(img_PIL))
img_PIL: <class 'numpy.ndarray

 

三、keras读取图片

keras深度学习的框架,里面也是内置了读取图片的模块,该模块读取的也不是数组格式,需要进行转换。

from keras.preprocessing.image import array_to_img, img_to_array


load_imgimg_keras = load_img(dirpath)#读取数据


print("img_keras:",img_keras)
img_keras: <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=2736x1856 at 0x2201D184BC8>


print("img_keras:",type(img_keras))
img_keras: <class 'PIL.JpegImagePlugin.JpegImageFile'>


#使用keras里的img_to_array()
img_keras = img_to_array(img_keras)
print("img_keras:",img_keras.shape)
img_keras: (1856, 2736, 3)
print("img_keras:",type(img_keras))
img_keras: <class 'numpy.ndarray'>


#可以使用使用np.array()进行转换
mg_keras= np.array(img_keras)

 

四、skimage读取图片

scikit-image是基于scipy的一款图像处理包,它将图片作为numpy数组进行处理,读取的数据正好是numpy.ndarray格式。

import skimage.io as io
img_io = io.imread(dirpath)#读取数据


print("img_io :",img_io .shape)
img_io : (1856, 2736, 3)


print("img_io :",type(img_io ))
img_io : <class 'numpy.ndarray'

 

五、matplotlib.image读取图片

利用matplotlib.image读取的图片,直接就生成了数组格式

import matplotlib.image as mpig
img_mpig = mpig.imread(dirpath)#读取数据


print("img_mpig :",img_mpig .shape)
img_mpig : (1856, 2736, 3)


print("img_mpig :",type(img_mpig ))
img_mpig : <class 'numpy.ndarray'

 

六、matplotlib.pyplot读取图片

利用matplotlib.pyplot读取的图片,同样也是直接就生成了数组格式

import matplotlib.pyplot as plt
img_plt = plt.imread(dirpath)
print("img_plt :",img_plt .shape)
img5: (1856, 2736, 3)
print("img_plt :",type(img_plt ))
img5: <class 'numpy.ndarray'>

 

七、显示读取的图片

同样,使用matplotlib 包可以打印出来读取的照片,要打印上述案例中读取的照片,只需要下面两行代码就行了。

plt.imshow(img_plt , cmap=plt.cm.binary)

plt.show()

       python怎样读取文件夹里的图片_python图片处理及识别       

图片三通道的,打印其中一个通道

plt.imshow(img_plt[:,:,1] , cmap=plt.cm.binary)

plt.show()       python怎样读取文件夹里的图片_python图片处理及识别 

当然,我们可以随便构造一个数组,可以显示出来

digit  =  [[135,26,33,12],[14,27,43,190],[120,124,134,205]]

plt.imshow(digit, cmap=plt.cm.binary)

plt.show()

python怎样读取文件夹里的图片_python图片处理及识别

python怎样读取文件夹里的图片_python图片处理及识别

往期精彩回顾




适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑

获取一折本站知识星球优惠券,复制链接直接打开:

https://t.zsxq.com/y7uvZF6

本站qq群704220115。

加入微信群请扫码:

python怎样读取文件夹里的图片_python图片处理及识别

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/194650.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • CentOS7安装MySQL(完整版)

    CentOS7安装MySQL(完整版)在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。1下载并安装MySQL官方的YumRepository[root@localhost~]#wget-i-chttp://dev.mysql.com/get/mysql57-community-release-…

  • ab网站压力测试

    ab网站压力测试命令的参数、输出结果的中文注解permalink以前安装好APACHE总是不知道该如何测试APACHE的性能,现在总算找到一个测试工具了。就是APACHE自带的测试工具AB(apa

    2021年12月25日
  • N1盒子旁路由教程面向小白啰嗦版

    N1盒子旁路由教程面向小白啰嗦版本文最后更新于2020年4月,请注意时效性N1盒子旁路由教程面向小白啰嗦版索引参考主要目的一些需要用到的东西对N1盒子进行降级以及激活U盘启动将N1固件烧录至U盘并使用U盘启动openwrt将固件刷入N1盒子的emmc更改N1盒子的内网IP增加WAN接口以及更改LAN接口配置非全局设置-手动配置过的设备能代理全局设置-所有设备连上就能代理固件的升级N1的WiFi?…

  • java程序设计实验报告_c++程序设计实验指导答案

    java程序设计实验报告_c++程序设计实验指导答案前言一般我们写接口自动化的时候,遇到复杂的逻辑,都会调用API方法来满足前置条件,Pytest的特性是无法用例之间相互调动的,我们一般只调用自己封装的API方法。而httprunner支持用例之间

  • 什么是卫语句(卫语句)

    如果条件语句极其复杂,就应该将条件语句拆解开,然后逐个检查,并在条件为真时立刻从函数中返回,这样的单独检查通常被称之为“卫语句”(guardclauses)摘自《重构—改善既有代码的设计》卫语句的效果就是将原来需要仔细阅读代码、细心整理逻辑的条件判断整理成一眼能看透的逻辑关系,效果就像以下:if(it==活的){if(it==人){if(it!=女人){…

  • js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结

    js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结写在前面写前端的时候,很多的时候是避免不了注册这一关的,但是一般的注册是没有任何的难度的,无非就是一些简单的获取用户输入的数据,然后进行简单的校验以后调用接口,将数据发送到后端,完成一个简单的注册的流程,那么一般来说,密码是不做加密的。但是也有一些数据库里面存放的是加密后的密码,这样有一个比较安全的地方在于,即使黑客将用户输入的文本密码得到了,也不知道具体是什么,因为密码是经过加密的。今天就简单的…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号