% bp_imageCompress.m
% 基于BP神经网络的图像压缩
%% 清理
clc
clear all
rng(0)
%% 压缩率控制
K=4;
N=2;
row=256;
col=256;
%% 数据输入
I=imread('d:\lena.bmp');
% 统一将形状转为row*col
I=imresize(I,[row,col]);
%% 图像块划分,形成K^2*N矩阵
P=block_divide(I,K);
%% 归一化
P=double(P)/255;
%% 建立BP神经网络
net=feedforwardnet(N,'trainlm');
T=P;
net.trainParam.goal=0.001;
net.trainParam.epochs=500;
tic
net=train(net,P,T);
toc
%% 保存结果
com.lw=net.lw{2};
com.b=net.b{2};
[~,len]=size(P); % 训练样本的个数
com.d=zeros(N,len);
for i=1:len
com.d(:,i)=tansig(net.iw{1}*P(:,i)+net.b{1});
end
minlw= min(com.lw(:));
maxlw= max(com.lw(:));
com.lw=(com.lw-minlw)/(maxlw-minlw);
minb= min(com.b(:));
maxb= max(com.b(:));
com.b=(com.b-minb)/(maxb-minb);
maxd=max(com.d(:));
mind=min(com.d(:));
com.d=(com.d-mind)/(maxd-mind);
com.lw=uint8(com.lw*63);
com.b=uint8(com.b*63);
com.d=uint8(com.d*63);
save comp com minlw maxlw minb maxb maxd mind
web -broswer http://www.ilovematlab.cn/forum-222-1.html
BP神经网络实现图像压缩(MATLAB)
3星 · 超过75%的资源 需积分: 24 123 浏览量
2014-12-05
23:08:07
上传
评论 7
收藏 63KB ZIP 举报
guuuuu
- 粉丝: 77
- 资源: 23
最新资源
- 传统网页UI设计在移动应用开发中的应用研究.pdf
- 基于pytorch实现BERT+BiLSTM+CRF实现中文命名实体识别源码.zip
- 校园帮项目,毕业设计/课程设计/javaWeb/SSM
- C++ plotting library,matplotlib-cpp-master.zip
- 案例源码matplotlib-examples-master.zip
- 基于JavaScript 实现的KMP 算法
- 基于C++实现二叉树的创建,遍历,添加,查找与删除
- 基于C语言实现二叉树的基本操作
- 毕业设计基于STM32的测量温度与压力的数据处理设计C语言完整源码+论文.zip
- 基于MATLAB的PCA算法人脸识别项目源码+GUI界面+说明文档.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页