python中读取图片的6种方式
作者:小伍哥
来源:AI入门学习
python进行图片处理,第一步就是读取图片,这里给大家整理了6种图片的读取方式,并将读取的图片装换成numpy.ndarray()格式。
首先需要准备一张照片,假如你有女朋友的话,可以用女朋友的,没有的话,那还学啥python,赶紧找对象去吧!
图片路径:dirpath = "C:/Users/wuzhengxiang/Desktop/beatgirl.jpg"
一、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()
图片三通道的,打印其中一个通道
plt.imshow(img_plt[:,:,1] , cmap=plt.cm.binary)
plt.show()
当然,我们可以随便构造一个数组,可以显示出来
digit = [[135,26,33,12],[14,27,43,190],[120,124,134,205]]
plt.imshow(digit, cmap=plt.cm.binary)
plt.show()
python中读取图片的6种方式相关推荐
- 【Python基础】Python中读取图片的6种方式
Python进行图片处理,第一步就是读取图片,这里给大家整理了6种图片的读取方式,并将读取的图片装换成numpy.ndarray()格式.首先需要准备一张照片,假如你有女朋友的话,可以用女朋友的,没有 ...
- python导入图片数据_Python中读取图片的6种方式
Python进行图片处理,第一步就是读取图片,这里给大家整理了6种图片的读取方式,并将读取的图片装换成numpy.ndarray()格式.首先需要准备一张照片,假如你有女朋友的话,可以用女朋友的,没有 ...
- python读取多张图片_python读取图片的几种方式及图像宽和高的存储顺序
python读取图片的几种方式及图像宽和高的存储顺序 1.opencv 2.imageio 3.matplotlib 4.scipy # coding:utf-8 import cv2 import ...
- python中调用API的几种方式
python中调用API的几种方式: urllib2 httplib2 pycurl requests urllib2 import urllib2, urllib github_url ='http ...
- 图像处理五:python读取图片的几种方式
一.读取图片方式 PIL.opencv.scikit-image: (1)PIL和Pillow只提供最基础的数字图像处理,功能有限: (2)opencv实际上是一个c++库,只是提供了python接口 ...
- python读取图片的几种方式以及图像宽和高的存储顺序
1.opencv 2.imageio 3.matplotlib 4.scipy # coding:utf-8import cv2 import imageio from scipy import mi ...
- python读取图片的几种方式
opencv的像素值在[0,1][0,1],show的时候转换到[0,255] import cv2 img = cv2.imread("imgfile") cv2.imshow( ...
- python中cmd全称_【转】Python中执行cmd的三种方式
原文链接:http://blog.csdn.net/menglei8625/article/details/7494094 目前我使用到的python中执行cmd的方式有三种: 1. 使用os.sys ...
- python 保留两位小数 占位_第17p,Python中格式化输出的3种方式
大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第17篇文章,第二阶段的课程:Python基础知识:格式化输出的3种方式 学习本课程,建议先看一遍:[计算机基础知识]课程. 格式化 ...
最新文章
- Ti公司DSP的DSK、EVM、DDK的区别
- linux mint 下载迅雷安装包,linux mint 最新版本下载地址
- 阿里云面试官:如果是MySQL引起的CPU消耗过大,你会如何优化?
- jenkins关闭和重启
- linux中grep的例子,Linux下grep命令使用实例
- WEB应用中的信息泄漏以及攻击方法
- mysql left join_对比MySQL,教你在Pandas中实现SQL常用操作!
- 互动快报读报软件159份全国主流大报倾情奉献读者
- android 测量距离 app,手机测距软件哪个好?6款手机测距APP推荐
- Android studio 中文语言包安装
- 中等计算机的配置,中等特效的电脑主机配置推荐
- 实验改变人类:震撼世界的十大科学实验- -
- 哪里有英语,哪里有欢乐
- 网吧服务器点歌系统,网吧点歌系统_网吧语音大师_蓝宝石语音_网吧点歌系统_蓝宝石呼叫网管_hylbs.com...
- 外国客户一般汇款到国内需要多久时间?
- discuz发帖流程_Discuz论坛发帖能力分享
- 在微信小程序中如何使用wx.onLocationChange(function callback)
- stm32 薄膜键盘原理_stm32 diy 机械键盘
- java缩印_word文档如何缩印:如何使用记事本编写java程序
- 处理音视频合并的简单方法