Python中读取图片并转化为numpy.ndarray()数据的6种方式

系统 1875 0

Python中读取图片并转化为numpy.ndarray()数据的6种方式

方式:                               返回类型

OpenCV                                            np.ndarray
PIL                                                     PIL.JpegImagePlugin.JpegImageFile
keras.preprocessing.image               PIL.JpegImagePlugin.JpegImageFile
Skimage.io                                        np.ndarray
matplotlib.pyplot                                np.ndarray
matplotlib.image                                np.ndarray

 

            
              import numpy as np
import cv2
from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
from PIL import Image
import skimage.io as io
import matplotlib.pyplot as plt
import matplotlib.image as mpig


'''
方式:                        返回类型

OpenCV                        np.ndarray
PIL                           PIL.JpegImagePlugin.JpegImageFile
keras.preprocessing.image     PIL.JpegImagePlugin.JpegImageFile
Skimage.io                    np.ndarray
matplotlib.pyplot             np.ndarray
matplotlib.image              np.ndarray
'''

imagePath="E:/DataSet/test1/trainSet/bus/300.jpg"


'''
方式一:使用OpenCV
'''
img1=cv2.imread(imagePath)
print("img1:",img1.shape)
print("img1:",type(img1))
print("-"*10)


'''
方式二:使用PIL
'''
img2=Image.open(imagePath)
print("img2:",img2)
print("img2:",type(img2))
#转换成np.ndarray格式
img2=np.array(img2)
print("img2:",img2.shape)
print("img2:",type(img2))
print("-"*10)


'''
方式三:使用keras.preprocessing.image
'''
img3=load_img(imagePath)
print("img3:",img3)
print("img3:",type(img3))
#转换成np.ndarray格式,使用np.array(),或者使用keras里的img_to_array()
#使用np.array()
#img3=np.array(img2)
#使用keras里的img_to_array()
img3=img_to_array(img3)
print("img3:",img3.shape)
print("img3:",type(img3))
print("-"*10)


'''
方式四:使用Skimage.io
'''
img4=io.imread(imagePath)
print("img4:",img4.shape)
print("img4:",type(img4))
print("-"*10)


'''
方式五:使用matplotlib.pyplot
'''
img5=plt.imread(imagePath)
print("img5:",img5.shape)
print("img5:",type(img5))
print("-"*10)


'''
方式六:使用matplotlib.image
'''
img6=mpig.imread(imagePath)
print("img6:",img6.shape)
print("img6:",type(img6))
print("-"*10)
            
          

运行结果:

            
              Using TensorFlow backend.
img1: (256, 384, 3)
img1: 
              
                
----------
img2: 
                
                  
img2: 
                  
                    
img2: (256, 384, 3)
img2: 
                    
                      
----------
img3: 
                      
                        
img3: 
                        
                          
img3: (256, 384, 3)
img3: 
                          
                            
----------
img4: (256, 384, 3)
img4: 
                            
                              
----------
img5: (256, 384, 3)
img5: 
                              
                                
----------
img6: (256, 384, 3)
img6: 
                                
                                  
----------
                                
                              
                            
                          
                        
                      
                    
                  
                
              
            
          

Python中读取图片并转化为numpy.ndarray()数据的6种方式_第1张图片


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论