利用numpy ,opencv将图片数据,标签列表,转化为图片,并保存

import os
import numpy as np
import cv2

#图片数据列表 取值范围0-255
data=[]
#图片标签列表,
label=[]

#将数据列表转化成图片格式,-1 表示图片的数量,3表示图像的通道数,32表示图片的大小
imgs = np.reshape(data, [-1, 3, 32, 32])

for i in range(imgs.shape[0]):
    #获取第i张图片的数据
    im_data = imgs[i, ...]
    #opencv的通道维度在后面,所以需要进行通道维度的跟换
    im_data = np.transpose(im_data, [1, 2, 0])
    #将rgb图片转化成bgr图片
    im_data = cv2.cvtColor(im_data, cv2.COLOR_RGB2BGR)
    #根据不同的类别,生成不同类别的路径
    f="{}/{}".format("data/image/train",classification[labels[i]])

    if not os.path.exists(f):
        os.mkdir(f)
    #利用opencv写图片的方式生成图片,并按照图片的次序给图片命名
    cv2.imwrite("{}/{}.jpg".format(f, str(i)), im_data)

本代码用在cifar10数据集上验证成功!!!

你可能感兴趣的:(opencv,深度学习)