Python中图像读写方法有哪些,各自特点是什么?

摘要:训练视觉相关的神经网络模型时,总是要用到图像的读写。方法有很多,比如matplotlib、cv2、PIL等。下面比较几种读写方式,旨在选出一个最快的方式,提升训练速度。 实验标准 因为训练使用的框架是Pytorch,因此读取的实验标准如下:
训练视觉相关的神经网络模型时,总是要用到图像的读写。方法有很多,比如matplotlib、cv2、PIL等。下面比较几种读写方式,旨在选出一个最快的方式,提升训练速度。 实验标准   因为训练使用的框架是Pytorch,因此读取的实验标准如下:   1、读取分辨率都为1920x1080的5张图片(png格式一张,jpg格式四张)并保存到数组。   2、将读取的数组转换为维度顺序为CxHxW的Pytorch张量,并保存到显存中(我使用GPU训练),其中三个通道的顺序为RGB。   3、记录各个方法在以上操作中所耗费的时间。因为png格式的图片大小差不多是质量有微小差异的jpg格式的10倍,所以数据集通常不会用png来保存,就不比较这两种格式的读取时间差异了。   写入的实验标准如下:   1、将5张1920x1080的5张图像对应的Pytorch张量转换为对应方法可使用的数据类型数组。   2、以jpg格式保存五张图片。   3、记录各个方法保存图片所耗费的时间。 实验情况 cv2   因为有GPU,所以cv2读取图片有两种方式:   1、先把图片都读取为一个numpy数组,再转换成保存在GPU中的pytorch张量。   2、初始化一个保存在GPU中的pytorch张量,然后将每张图直接复制进这个张量中。
阅读全文