Date: 2022.5.17
前言
在大学毕业设计的时候,课题要求实现《基于BP神经网络的图像压缩技术及实现》,采用Matlab语言实现,效果图如下。
0、代码获取方式
需要相关代码可以在关注博主和订阅本专栏后加QQ名片(2963033731)咨询博主。
1、实现简介
1.1、训练样本构造
将训练用图像的所有像素点作为压缩网络的输入,为控制网络的规模,对图像进行划分。设训练用图像由N×N个像素点构成,将其划分成M个子图像块,每个子图像块分别由p×p的子像素块构成。为加快训练网络的收敛性,需要对上述生成的像素块矩阵进行归一化处理。对神经网络进行训练用构建的输入矩阵(每一列代表一个输入模式)作为目标输出矩阵,在Matlab中调用训练算法,即调用newff函数开始训练网络,函数的输入参数BTF取值“ trainlm” ,TFi取值“ tansig、logsig”。
在这次研究中,采用均值分布预处理:待处理图像的灰度范围为,变换域为,设待处理的像素灰度值为,则对于所有过程的映射,满足公式:,利用该公式将原始图像的像素值划分在[0,1]的区间内,构成训练样本的所有预处理过程。
1.2、BP神经网络模型创建
BP神经网络是理论和应用中出现最多的一种人工神经网络模型。它是一种多层前向网络,一般用于数据的分类,拟合等领域。BP网络接受一个输入向量,在输出端给出另一个向量,内在的映射关系通过神经元间的连接权值来体现和保存。
采用一个隐含层,则整体构成一个