这篇文章主要介绍“Python怎么读取图片”的相关知识,自由互联小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么读 这篇文章主要介绍“Pyt
这篇文章主要介绍“Python怎么读取图片”的相关知识,自由互联小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么读取图片”文章能帮助大家解决问题。
一、OpenCV读取图片
OpenCV读取的图片,直接就是numpy.ndarray格式,无需转换
importcv2img_cv=cv2.imread(dirpath)#读取数据print("img_cv:",img_cv.shape)img_cv:(1856,2736,3)print("img_cv:",type(img_cv))img_cv:#看下读取的数据怎么样img_cvarray([[[0,3,0],[11,20,17],...,[5,23,16]],[[0,2,0],...,[5,23,16]]]二、PIL读取图片
PIL读取的图片并不是直接的numpy.ndarray格式,需要进行转换
fromPILimportImageimportnumpyasnpimg_PIL=Image.open(dirpath)#读取数据print("img_PIL:",img_PIL)img_PIL:print("img_PIL:",type(img_PIL))img_PIL:#将图片转换成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:keras深度学习的框架,里面也是内置了读取图片的模块,该模块读取的也不是数组格式,需要进行转换。
fromkeras.preprocessing.imageimportarray_to_img,img_to_arrayload_imgload_imgimg_keras=load_img(dirpath)#读取数据print("img_keras:",img_keras)img_keras:print("img_keras:",type(img_keras))img_keras:#使用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:#可以使用使用np.array()进行转换mg_keras=np.array(img_keras)四、skimage读取图片
scikit-image是基于scipy的一款图像处理包,它将图片作为numpy数组进行处理,读取的数据正好是numpy.ndarray格式。
importskimage.ioasioimg_io=io.imread(dirpath)#读取数据print("img_io:",img_io.shape)img_io:(1856,2736,3)print("img_io:",type(img_io))img_io:利用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:利用matplotlib.pyplot读取的图片,同样也是直接就生成了数组格式
importmatplotlib.pyplotaspltimg_plt=plt.imread(dirpath)print("img_plt:",img_plt.shape)img5:(1856,2736,3)print("img_plt:",type(img_plt))img5:七、显示读取的图片
同样,使用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怎么读取图片”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程笔记行业资讯频道,自由互联小编每天都会为大家更新不同的知识点。