基于图像处理和机器学习的水浑浊度预测研究与系统实现

1.摘要

本文实现了一个基于图像处理的水浑浊度预测系统。首先,通过Python的图像处理库读取图片并截取有效区域,然后将图片数据划分为RGB三个颜色通道,并转换为像素值矩阵。接着,自定义函数计算三个颜色通道的一阶、二阶和三阶颜色矩,作为图像特征。为了批量处理图像,还自定义了函数获取指定路径中的所有图片名称,并计算它们的颜色矩特征,保存为数组。这些特征数据集用于训练机器学习模型,包括人工神经网络(ANN)、线性回归和K-最近邻(K-NN)等,以预测水的浑浊度。最后,使用Flask框架、HTML/CSS/JavaScript等技术实现了一个基于Web的系统界面,用户可以通过上传水体图像进行浑浊度预测。该系统为水质监测提供了一种新的、便捷的方法。

2.基于图像处理的水浑浊度实现步骤

1.1 读取一张图片数据并用Python查看图片,截取图像的有效区域

目的:从数据源中读取图像,并确定哪些部分是图像的有效内容(即,去除边框、文字等非目标区域)。实现:使用Python的图像处理库(如PIL、OpenCV)读取图像。

显示图像以手动确定有效区域,或者使用图像处理技术(如边缘检测、阈值分割)自动确定。

使用切片操作截取有效区域。
1.2 将图片数据划分为RGB三个颜色通道,分别将三个颜色通道的图片数据转换为像素值矩阵

目的:将图像分解为红(R)、绿(G)、蓝(B)三个颜色通道,以便单独分析每个通道的信息。实现:使用图像处理库的功能分离RGB通道。

将每个通道的图像数据转换为二维或三维的像素值矩阵,其中每个元素代表对应位置的像素值。
1.3 了解水质图像特征-颜色矩,自定义计算三阶颜色矩的函数

目的:颜色矩是一种描述图像颜色分布的特征,它基于图像的颜色直方图计算低阶矩(如均值、方差、偏斜度)。这些特征对于区分不同浑浊度的水图像可能是有用的。实现:研究颜色矩的理论基础,特别是如何计算一阶(均值)、二阶(方差)、三阶(偏斜度)颜色矩。

编写函数来计算每个颜色通道的颜色矩。
1.4 计算三个颜色通道的一阶颜色矩、二阶颜色矩和三阶颜色矩

目的:实际计算每张图像每个颜色通道的颜色矩特征。实现:对每个颜色通道应用之前定义的函数。存储每个颜色通道的颜色矩结果。
1.5 自定义函数正确获取指定路径中的所有图片名称

目的:为了批量处理图像,需要能够列出指定文件夹中的所有图像文件名。实现:使用Python的文件系统操作函数(如os.listdir())列出文件夹中的文件。过滤出图像文件(根据文件扩展名,如.jpg, .png)。
1.6 自定义函数,用循环语句计算所有图片的颜色矩和获取图片标签,分别保存为数组

目的:对指定文件夹中的所有图像重复前面的步骤,计算它们的颜色矩特征,并可能获取与每张图像相关联的标签(如浑浊度等级)。实现:编写一个函数,该函数接受图像文件夹的路径和标签信息(如果可用)。使用循环遍历所有图像文件。对每张图像执行前面的步骤(读取、截取、分离通道、计算颜色矩)。将每张图像的颜色矩特征和标签(如果有)保存到数组中。这些数组随后可以用于机器学习模型的训练和测试。
完成上述步骤后,将拥有一个特征数据集,可以用于训练机器学习模型来预测水的浑浊度。

3.利用数据集进行训练预测模型

提取出的数据集如下:

浊度单位:NTU

1.数据准备:

使用pandas库读取ntumodel.csv文件。

从数据集中提取特征(如最大灰度值、最小灰度值、平均灰度值等)作为输入(X),并将"ntu"列作为目标输出(y)。

使用train_test_split函数将数据集分割为训练集和测试集,测试集大小为33%。
2.模型训练与评估

人工神经网络(ANN):

使用Normalizer对数据进行归一化处理。

创建一个多层感知器回归器(MLPRegressor),具有5个隐藏层,每层分别有512、256、128、64、32个神经元。

使用训练数据拟合模型,并预测训练集和测试集的输出。

计算并打印训练集和测试集的均方根误差(RMSE)等。

还可以使用线性回归模型(LinearRegression)、K-最近邻(K-NN):
使用pickle库将训练好的模型(ANN、线性回归、K-NN)保存为.pkl文件,以便将来使用。

4.系统实现

使用刚刚训练好的**.pkl文件实现一个可以基于上传图像进行水浑浊度预测的系统。**

该系统是一个基于Web的图像处理平台,专门用于评估水的浑浊度。用户可以通过上传一张包含水体图像的照片,系统将对这张照片进行处理,并基于图像的多种特征来预测和显示水的浑浊程度。使用到的技术如下:

前端技术:HTML/CSS/JavaScript、Jinja2模板引擎。

后端技术:Flask框架、Python编程语言

图像处理技术:OpenCV库、PIL/Pillow库

机器学习技术:Scikit-learn库、预训练的机器学习模型

Web技术:HTTP协议、WSGI(Web Server Gateway Interface

实现的系统界面如下所示:

上传一张水的图像进行预测:

代码下载链接:

https://download.csdn.net/download/weixin_40651515/90141065

相关推荐
安逸sgr13 小时前
图像生成-ICCV2019-SinGAN: Learning a Generative Model from a Single Natural Image
图像处理·人工智能·pytorch·深度学习·神经网络·生成对抗网络·计算机视觉
DogDaoDao20 小时前
探秘沃尔什-哈达玛变换(WHT)原理
图像处理·数学·音视频·hadamard·哈达玛变换·wht·视频编码器
B站计算机毕业设计超人21 小时前
计算机毕业设计Python+DeepSeek-R1大模型农作物害虫识别 机器学习农作物健康识别系统 人工智能 图像识别 机器学习 深度学习
图像处理·python·深度学习·机器学习·毕业设计·数据可视化·毕设
艾思科蓝 AiScholar1 天前
【南华大学机械工程学院主办,澳大利亚莫道克大学支持 | EI、Scoups检索】2025年智慧能源与控制工程国际学术会议(SECE 2025)
图像处理·人工智能·目标检测·计算机视觉·自动化·能源·制造
北京青翼科技1 天前
【PCIE725-0】基于PCIe x16总线架构的VU9P FPGA高性能数据预处理平台
图像处理·人工智能·ai·架构·信号处理·ai编程
Luis Li 的猫猫2 天前
计算光学成像与光学计算概论
网络·图像处理·人工智能·算法·目标检测
Luis Li 的猫猫2 天前
光学神经网络
图像处理·人工智能·深度学习·神经网络·算法·机器学习·计算机视觉
楼台的春风2 天前
【Canny 边缘检测详细讲解】
图像处理·人工智能·opencv·算法·计算机视觉·matlab·嵌入式
飞3002 天前
TP-LINK图像处理工程师(深圳)内推
图像处理·计算机视觉·业界资讯
美狐美颜sdk3 天前
美颜SDK架构揭秘:人脸美型API的底层实现与优化策略
图像处理·人工智能·深度学习·架构·视频美颜sdk·美颜api