2022年 11月 8日

python读取图像的几种方法

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

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

  1. from PIL import Image
  2. import numpy as np
  3. I = Image.open('./cc_1.png')
  4. I.show()
  5. I.save('./save.png')
  6. I_array = np.array(I)
  7. print I_array.shape

#方法二:利用matplotlib.pyplot as plt用于显示图片
# matplotlib.image as mpimg 用于读取图片
# 并且读取出来就是array格式

  1. import matplotlib.pyplot as plt
  2. import matplotlib.image as mpimg
  3. import numpy as np
  4. I = mpimg.imread('./cc_1.png')
  5. print I.shape
  6. plt.imshow(I)

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

  1. import cv2
  2. I = cv2.imread('./cc_1.png')
  3. print I.shape

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

  1. import matplotlib.pyplot as plt
  2. from scipy import misc
  3. import scipy
  4. I = misc.imread('./cc_1.png')
  5. scipy.misc.imsave('./save1.png', I)
  6. plt.imshow(I)
  7. plt.show()

#方法五:用skimage库

from skimage import io,data
img=data.lena()
io.imshow(img)

python数字图像处理(2):图像的读取、显示与保存

python 读取并显示图片的两种方法