图片读取与保存
cv2.imread
import cv2
im = cv2.imread(img_path) # 若无法读取,返回 None, cv2.imread(path, flags) flags: cv2.IMREAD_COLOR, cv2.IMREAD_GRAYSCALE, cv2.IMREAD_UNCHANGED
type(im) # numpy.ndarray
im.shape # 高,宽,通道 (1047, 1920, 3)
''' cv2.imread 导入的图片格式为 BGR,而不是平常的 RGB, 通过matplotlit.pyplot.imshow 可以看出 BGR 与 RGB 的区别'''
im_RGB = cv2.cvtColor(im, cv2.COLOR_BGR2RGB) # 将 BGR 格式转换为 RGB 格式, cv2.COLOR_BGR2GRAY 转换为灰度格式, cv2.COLOR_BGR2HSV 转换为 HSV 格式
im_resize = cv2.resize(im, (128, 128))
''' 保存图片, cv2.imwrite()
cv2.imwrite('new_.jpg', im) # 注意这里需要保存 BGR 格式的图片,若是保存 RGB 格式的,图片颜色显示不对。
##对于JPEG,其表示的是图像的质量,用0-100的整数表示,默认为95。 ##注意,cv2.IMWRITE_JPEG_QUALITY类型为Long,必须转换成int。
cv2.imwrite('new_.jpg', img1, [int(cv2.IMWRITE_JPEG_QUALITY), 5])
##对于png图片,第三个参数表示的是压缩级别。##cv2.IMWRITE_PNG_COMPRESSION,从0到9,压缩级别越高,图像尺寸越小。默认级别为3
cv2.imwrite('new_.png', img1, [int(cv2.IMWRITE_JPEG_QUALITY), 5])
''' 显示图片 '''
cv2.namedWindow("im")
cv2.imshow('im',image_gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
PIL.Image (Python Image Library)
from PIL import Image
im = image.open(img_path)
print(im.format) # 'JPEG'
print(im.size) # '(464,331) (宽,高)
print(im.mode) # RGB
im.show() # 显示图片
import numpy as np
np_img = np.array(im) # 将PIL的Image格式转换为 ndarray 格式 (高,宽,通道)
im.resize((128, 128)) # 修改图片大小
im.save('new_image.png') # 保存图片
import matplotlib.pyplot as plt
plt.imshow(im)
matplotlib.image.imread
import matplotlib.image as mpimg
import numpy as np
im = mpimg.imread(img_path)
type(im) # numpy.ndarray, RGB 格式。
im.shape # 高,宽