作者:小武兄来源:AI简介读取的图片转换成numpy.ndarray()格式。首先,你需要准备一张照片。如果你有女朋友,你可以用你女朋友的。如果不会,那就学python去找人吧!图片路径:dirpath="C:/Users/wuzhenxiang/Desktop/beatgirl.jpg"1.OpenCV读取图片OpenCV直接读取numpy.ndarray格式的图片,无需转换importcv2img_cv=cv2.imread(dirpath)#读取数据打印("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]]]2.PIL读取图片PIL读取的图片不是直接是numpy.ndarray格式的,需要从PIL转换importImageimportnumpyasnpimg_PIL=Image.open(dirpath)#Readdataprint("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=img_to_array(img_keras)中使用img_to_array()img_keras(1856,2736,3)print("img_keras:",type(img_keras))img_keras:可以使用np.array()进行转换mg_keras=np.array(img_keras)4.skimage读取picturesscikit-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:7.显示读取的图片同样,使用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()