【大数据】水质分析————(数据预处理)对水质图片的处理
运用大数据对不同水质图片进行归类,其中所涉及到的数据预处理部分,
主要是将水质图片裁剪,得到图片的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("完成")

浙公网安备 33010602011771号