图像处理篇一:图像数据的读取、显示与存储(OpenCV、PIL、matplotlib)

一、OpenCV

实例代码:
import cv2
filepath='img.png'
outpath='img_cv.png'
img_cv =cv2.imread(filepath)#读取数据,得到np.array ()类型
cv2.imshow('image',img_cv)#显示图像,‘image’为显示的图像名,img_cv为实际图像数据
cv2.waitKey(0)#图像显示时间,0为无限长,单位ms
cv2.imwrite(outpath,img_cv)#保存图片

使用函数理解# cv2.imread(filepath,flags)图片数据读取函数
# filepath为图片路径;
# flags为读取的格式:
# cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道,可用1作为实参替代
# cv2.IMREAD_GRAYSCALE:读入灰度图片,可用0作为实参替代
# cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道,可用-1作为实参替代

#cv2.imwrite(outpath,img_cv[,paras])图片数据存储函数
#outpath:要保存的路径,包含图片名和扩展名
#img_cv:图片数据,nparray 多维数组
#paras:
# cv2.CV_IMWRITE_JPEG_QUALITY:设置 .jpeg/.jpg 格式的图片质量,取值为 0-100(默认值 95),数值越大则图片质量越高;
#cv2.CV_IMWRITE_WEBP_QUALITY:设置 .webp 格式的图片质量,取值为 0-100;
#cv2.CV_IMWRITE_PNG_COMPRESSION:设置 .png 格式图片的压缩比,取值为 0-9(默认值 3),数值越大则压缩比越大。

 二、PIL

from PIL import Image
import numpy as np
filepath='img.png'
outpath='img_PIL.png'
img_PIL = Image.open(filepath)#读取图片数据,格式为PIL类型
img_PIL.show()
img_PIL.save(outpath)#保存图片

#Image.open()读取图片数据函数,PIL类型
#PIL类型,由于pytorch的顺序是(batch,c,h,w),后续处理需要转化成numpy类型,numpy的顺序是(batch,h,w,c)

三、matplotlib

import matplotlib.pyplot as plt

filepath = 'img.png'
outpath = 'img_plt.png'
img_plt = plt.imread(filepath)#读取数据,得到NumPy数组
plt.imshow(img_plt)
plt.savefig(outpath)#图片保存函数,注意需要在plt.show前保存,否则数据丢失
plt.show()


# savefig(fname, dpi=None, facecolor=’w’, edgecolor=’w’, orientation=’portrait’, papertype=None, format=None, transparent=False, bbox_inches=None, pad_inches=0.1, frameon=None, metadata=None)
# 参数
# • fname: 需要保存的路径及图片名(文件名可以有扩展名,若没有扩展名就使用默认扩展‘png’)
# • dpi: 分辨率,每英寸的点数
# • facecolor(颜色或“auto”,默认值是“auto”):图形表面颜色。如果是“auto”,使用当前图形的表面颜色。
# • edgecolor(颜色或“auto”,默认值:“auto”):图形边缘颜色。如果是“auto”,使用当前图形的边缘颜色。
# • orientation – {‘landscape,’ ‘portrait’}: 目前只有后端支持。.
# • format(字符串):文件格式,比如“png”,“pdf”,“svg”等,未设置的行为将被记录在fname中。
# • papertype: papertypes可以设置为“a0到a10”, “executive,” “b0 to b10”, “letter,” “legal,” “ledger.”
# • bbox_inches: 只有图形给定部分会被保存。设置为“tight”用以恰当的匹配所保存的图形。
# • pad_inches: (默认: 0.1)所保存图形周围的填充量。
# • transparent: 用于将图片背景设置为透明。图形也会是透明,字参除非通过关键数指定了表面颜色和/或边缘颜色。
# 返回类型
# matplotlib savefig()函数将所绘制的图形保存在本地计算机.

你可能感兴趣的:(图像处理)