PIL:
读取图片
from PIL import Image
filename = 'C:/Users/Administrator/Desktop/1.png'
img = Image.open(filename)
存储图片
path = 'C:/Users/Administrator/Desktop/2.png'
img.save(path)
转为矩阵
matrix = np.array(img)
矩阵再转回来:
image = Image.fromarray(matrix)
(转载)补充:np.array()与np.asarray()区别:link.
亲测PIL会对图像产生压缩(我6mb的图片用PIL保存就变成了1.7mb)
.
cv2:
读取图片
cv2.imread(path, flags) # 会返回一个[height, width, channel]的numpy.ndarray对象。
# 参数含义:
path: 该参数制定图片的路径,可以使用相对路径,也可以使用绝对路径;
flags:指定以何种方式加载图片,有三个取值:
cv2.IMREAD_COLOR:读取一副彩色图片,图片的透明度会被忽略,默认为该值,实际取值为1;
cv2.IMREAD_GRAYSCALE:以灰度模式读取一张图片,实际取值为0
cv2.IMREAD_UNCHANGED:加载一副彩色图像,透明度不会被忽略。
存储图片
filename = 'C:/Users/Administrator/Desktop/1.png'
cv2.imwrite(filename, img)
显示图片
cv2.imshow(img)
将矩阵A放缩到0-255之间
A = cv2.normalize(A, None, 0, 255, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_8UC3)