python将图片转换为csv

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_29957455/article/details/84980438

前言

本篇文章主要介绍如何将图片转为csv文件进行保存,主要利用python内置的库csv

示例

本篇文章中,主要介绍如何将32*32的手写数字图片保存为csv文件
在这里插入图片描述

import csv,os,cv2
def convert_img_to_csv(img_dir):
    #设置需要保存的csv路径
    with open(r"D:\dataset\kaggle\MNIST\enhance.csv","w",newline="") 
    as f:
        #设置csv文件的列名
        column_name = ["label"]
        column_name.extend(["pixel%d"%i for i in range(32*32)])
        #将列名写入到csv文件中
        writer = csv.writer(f)
        writer.writerow(column_name)
        #该目录下有9个目录,目录名从0-9
        for i in range(10):
            #获取目录的路径
            img_temp_dir = os.path.join(img_dir,str(i))
            #获取该目录下所有的文件
            img_list = os.listdir(img_temp_dir)
            #遍历所有的文件名称
            for img_name in img_list:
                #判断文件是否为目录,如果为目录则不处理
                if not os.path.isdir(img_name):
                    #获取图片的路径
                    img_path = os.path.join(img_temp_dir,img_name)
                    #因为图片是黑白的,所以以灰色读取图片
                    img = cv2.imread(img_path,cv2.IMREAD_GRAYSCALE)
                    #图片标签
                    row_data = [i]
                    #获取图片的像素
                    row_data.extend(img.flatten())
                    #将图片数据写入到csv文件中
                    writer.writerow(row_data)


if __name__ == "__main__":
    #将该目录下的图片保存为csv文件
    convert_img_to_csv(r"D:\python_workspace\kaggle\DigitRecongnizer\LeN
    et\img_enhance")

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sinat_29957455/article/details/84980438