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图片处理及识别

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 修改python的pip源为国内源[通俗易懂]

    修改python的pip源为国内源[通俗易懂]由于网络原因,访问国外的pip源超级慢,因此可将源改为国内源(都是pipy官网的镜像),就能体验到流的飞起的速度了可临时修改,也可永久修改临时修改:在后边加个-i参数指定pip源,如下所示:pipinstallpackage_name-ihttps://pypi.tuna.tsinghua.edu.cn/simple永久修改:需要修改配置文件Windows:进入%…

    2022年5月4日
    42
  • python光流法算法学习「建议收藏」

    python光流法算法学习「建议收藏」基于python-opencv程序对光流法的理解光流法的定义Lucas-Kanade光流原理Shi-Tomasi角点检测python-opencv代码demo光流法的定义光流法是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景…

    2022年7月23日
    8
  • plc上位机软件编程_有上位机还必须用plc吗

    plc上位机软件编程_有上位机还必须用plc吗1、PLC的发展历程在工业生产过程中,大量的开关量顺序控制,它按照逻辑条件进行顺序动作,并按照逻辑关系进行连锁保护动作的控制,及大量离散量的数据采集。传统上,这些功能是通过气动或电气控制系统来实现的。1968年美国GM(通用汽车)公司提出取代继电气控制装置的要求,第二年,美国数字公司研制出了基于集成电路和电子技术的控制装置,首次采用程序化的手段应用于电气控制,这就是代可编程序控制器,称Progra…

    2025年10月1日
    2
  • javaMD5加密工具类

    javaMD5加密工具类importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;/***CreatedbyZhou.xyon2016/12/27.*/publicclassEncryMD5{/***String->MD5*/publi

    2022年7月15日
    17
  • 音视频协议-RTP协议

    音视频协议-RTP协议1协议简介2协议格式介绍3协议解析4协议三方库使用

    2022年6月28日
    42
  • Java中的三种注释类型「建议收藏」

    Java中的三种注释类型「建议收藏」注释:用于说明解释程序的文字就是注释。Java中的注释有三种:单行注释多行注释文档注释(Java特有)注释的作用有什么?主要就是提高了代码的阅读性,是调试程序的重要方法。当然,写注释也是一种良好编程习惯。可以将自己的思想通过注释先整理出来,再用代码去体现。来看看具体的使用吧!单行注释格式://注释文字多行注释格式:/*注释文字*/下面给出单行注释和多行注释的示例://单行注释publicclassHelloWorld{/* 程序入口

    2022年7月7日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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