Advertisement

python 读取图像的几种方法

阅读量:

方法一:利用PIL中的Image函数,这个函数读取出来不是array格式
这时候需要用 np.asarray(im) 或者np.array()函数

区别是 np.array() 是深拷贝,np.asarray() 是浅拷贝

复制代码
 from PIL import Image

    
 import numpy as np
    
  
    
 I = Image.open('./cc_1.png') 
    
 I.show()    
    
 I.save('./save.png')
    
 I_array = np.array(I)
    
 print I_array.shape

matplotlib.image as mpimg 用于读取图片

并且读取出来就是array格式

复制代码
 import matplotlib.pyplot as plt

    
 import matplotlib.image as mpimg
    
 import numpy as np
    
 I = mpimg.imread('./cc_1.png')
    
 print I.shape
    
 plt.imshow(I)

#方法三:利用opencv-python接口
#cv2.imread()读出来同样是array形式,但是如果是单通道的图,读出来的是三通道的

复制代码
 import cv2

    
 I = cv2.imread('./cc_1.png')
    
 print I.shape

#方法四:图像的存取我一般喜欢用scipy这个库里的东西,读出来是矩阵形式,并且按照(H,W,C)形式保存

复制代码
 import matplotlib.pyplot as plt

    
 from scipy import misc
    
 import scipy
    
 I = misc.imread('./cc_1.png')
    
 scipy.misc.imsave('./save1.png', I)
    
 plt.imshow(I)
    
 plt.show()

#方法五:用skimage库

复制代码
 from skimage import io,data

    
 img=data.lena()
    
 io.imshow(img)
复制代码
 转:

    
 

全部评论 (0)

还没有任何评论哟~