【大数据】水质分析————(数据预处理)对水质图片的处理
运用大数据对不同水质图片进行归类,其中所涉及到的数据预处理部分,
主要是将水质图片裁剪,得到图片的rgb阶矩阵。——>得到输入集
水质的数据包,全为图片,图片名为水质的等级——>得到输出集
处理完成后以字典(输出为 键 : 输入为 值)写入文本文件,具体代码如下:
#! /usr/bin/env python #coding=utf-8 from PIL import Image import numpy as np import os FileList = os.listdir("D:\\TP\\images") # 读入文件的所有文件 zd = {} def var(x=None): mid = np.mean(((x - x.mean()) ** 3)) return np.sign(mid) * abs(mid) ** (1/3) for name in FileList: img = Image.open('D:\\TP\\images\\' + name) # 读入目录下的所有文件 NAME = name.split(".jpg")[0] h = img.size[1] w = img.size[0] qg = img.crop(((w*2)/5 , (h*2)/5 , (w*3)/5 , (h*3)/5)) r,g,b = qg.split() #分割成三个通道 rd = np.asarray(r) #转换为矩阵格式 gd = np.asarray(g) bd = np.asarray(b) zd[NAME] = [ rd.mean() , rd.std() , var(rd) , gd.mean() , gd.std() , var(gd) , bd.mean() , bd.std() , var(bd)] #将计算完rgb的1,2,3阶矩阵写入字典 fw = open("zd.txt",'w+') fw.write(str(zd)) # 写入文件 fw.close() fr = open("zd.txt",'r+') zd = eval(fr.read()) fr.close() print("完成")