import numpy as np
import os
from PIL import Image
file='F:\\新教材资料\\水色图像水质评价\\图片'
d=os.listdir(file) #文件夹所有图片文件名
X=np.zeros((len(d),100,100,3)) #预定义输入数据
Y=np.zeros(len(d)) #预定义输出数据
for i in range(len(d)):
img = Image.open(file+'\\'+d[i]) #读取第i张图片, #img有R,G,B三个通道
im= img.split() #分离RGB颜色通道
R=np.array(im[0]) #R通道
row_1=int(R.shape[0]/2)-50
row_2=int(R.shape[0]/2)+50
con_1=int(R.shape[1]/2)-50
con_2=int(R.shape[1]/2)+50
R=R[row_1:row_2,con_1:con_2]
G=np.array(im[1]) #G通道
G=G[row_1:row_2,con_1:con_2]
B=np.array(im[2]) #B通道
B=B[row_1:row_2,con_1:con_2]
#取R,G,B通道即可,并归一化
X[i,:,:,0]=R/255
X[i,:,:,1]=G/255
X[i,:,:,2]=B/255
#构造输出数据,水质类别
s=d[i]
I=s.find('_',0,len(s))
if int(s[:I])==1:
Y[i]=0
elif int(s[:I])==2:
Y[i]=1
elif int(s[:I])==3:
Y[i]=2
elif int(s[:I])==4:
Y[i]=3
else:
Y[i]=4
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.2,
random_state=4)
from tensorflow.keras import layers, models
model = models.Sequential()
#第一个卷积层,卷积神经元个数为32,卷积核大小为3×,默认可省
model.add(layers.Conv2D(32, (3, 3),strides=(1,1),activation='relu',
input_shape=(100, 100,3)))
#紧接着的第一个池化层,2×2池化,步长为2,默认可缺省
model.add(layers.MaxPooling2D((2, 2),strides=2))
#第二个卷积层
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
#第二个池化层
model.add(layers.MaxPooling2D((2, 2)))
#第三个卷积层
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
#展平
model.add(layers.Flatten())
#全连接层
model.add(layers.Dense(64, activation='relu'))
#输出层
model.add(layers.Dense(5, activation='softmax'))
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(x_train, y_train, epochs=500)
model.evaluate(x_test, y_test, verbose=2)
yy=model.predict(x_test) #获得预测结果概率矩阵
y1=np.argmax(yy,axis=1) #获得最终预测结果,取概率最大的类标签
r=y1-y_test #预测结果与实际结果相减
rv=len(r[r==0])/len(r) #计算预测准确率
print('预测准确率: ',rv)
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
机器学习-水色图像水质评价完整代码和数据 (210个子文件)
3_67.jpg 1.27MB
3_64.jpg 1.24MB
3_70.jpg 1.23MB
3_61.jpg 1.21MB
2_11.jpg 1.16MB
4_16.jpg 1.13MB
3_6.jpg 1.11MB
3_63.jpg 1.09MB
1_50.jpg 1.09MB
3_62.jpg 1.08MB
3_68.jpg 1.07MB
4_23.jpg 1.07MB
3_69.jpg 1.07MB
4_18.jpg 1.07MB
4_20.jpg 1.07MB
2_16.jpg 1.07MB
3_60.jpg 1.06MB
4_5.jpg 1.06MB
4_4.jpg 1.05MB
4_19.jpg 1.05MB
3_41.jpg 1.05MB
1_29.jpg 1.05MB
4_24.jpg 1.05MB
4_2.jpg 1.04MB
4_22.jpg 1.04MB
4_1.jpg 1.03MB
4_8.jpg 1.03MB
3_4.jpg 1.03MB
4_15.jpg 1.02MB
3_54.jpg 1.02MB
3_39.jpg 1.02MB
4_3.jpg 1.02MB
3_33.jpg 1.02MB
3_37.jpg 1.01MB
3_24.jpg 1.01MB
3_1.jpg 1.01MB
2_25.jpg 1.01MB
3_35.jpg 1.01MB
3_36.jpg 1.01MB
4_12.jpg 1.01MB
4_17.jpg 1MB
3_2.jpg 1MB
3_38.jpg 1023KB
3_3.jpg 1021KB
3_7.jpg 1020KB
3_34.jpg 1020KB
3_42.jpg 1017KB
1_31.jpg 1016KB
3_21.jpg 1015KB
3_57.jpg 1014KB
3_56.jpg 1013KB
4_21.jpg 1012KB
4_11.jpg 1000KB
3_5.jpg 997KB
2_43.jpg 997KB
3_43.jpg 994KB
4_13.jpg 989KB
3_55.jpg 987KB
3_66.jpg 985KB
3_40.jpg 984KB
3_44.jpg 983KB
4_9.jpg 970KB
3_51.jpg 962KB
3_59.jpg 961KB
1_40.jpg 961KB
2_23.jpg 960KB
1_16.jpg 955KB
2_21.jpg 942KB
3_32.jpg 942KB
3_22.jpg 940KB
2_42.jpg 939KB
3_58.jpg 937KB
1_18.jpg 937KB
4_14.jpg 931KB
1_20.jpg 925KB
2_24.jpg 922KB
3_52.jpg 917KB
3_78.jpg 914KB
3_26.jpg 904KB
3_53.jpg 900KB
3_23.jpg 895KB
1_21.jpg 886KB
3_76.jpg 885KB
1_2.jpg 861KB
3_25.jpg 859KB
1_19.jpg 850KB
1_30.jpg 843KB
2_15.jpg 841KB
1_37.jpg 838KB
2_22.jpg 829KB
1_23.jpg 824KB
3_77.jpg 822KB
1_48.jpg 822KB
3_27.jpg 821KB
1_47.jpg 820KB
1_22.jpg 813KB
1_49.jpg 812KB
1_24.jpg 804KB
3_29.jpg 798KB
1_15.jpg 795KB
共 210 条
- 1
- 2
- 3
资源评论
刘同敏
- 粉丝: 11
- 资源: 30
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功