当前位置 : 主页 > 编程语言 > python >

【图像压缩】基于BP神经网络实现图像压缩含Matlab源码

来源:互联网 收集:自由互联 发布时间:2022-06-18
1 简介 BP网络是目前最常用的一种人工神经网络模型,它利用多层前馈网络的模式变换能力实现数据编码,直接提供数据压缩能力.在介绍BP网络图像压缩机原理及算法的基础上,通过计算机

1 简介

BP网络是目前最常用的一种人工神经网络模型,它利用多层前馈网络的模式变换能力实现数据编码,直接提供数据压缩能力.在介绍BP网络图像压缩机原理及算法的基础上,通过计算机Matlab仿真实验实现数字图像压缩,并分析了各种参数对重建图像性能的影响.

2 部分代码

% bp_imageRecon.m
%% 清理
clear,clc
close all
%% 载入数据
col=256;
row=256;
I=imread('lena.bmp');
load comp
com.lw=double(com.lw)/63;
com.b=double(com.b)/63;
com.d=double(com.d)/63;
com.lw=com.lw*(maxlw-minlw)+minlw;
com.b=com.b*(maxb-minb)+minb;
com.d=com.d*(maxd-mind)+mind;
%% 重建
for i=1:4096
Y(:,i)=com.lw*(com.d(:,i)) +com.b;
end
%% 反归一化
Y=uint8(Y*255);
%% 图像块恢复
I1=re_divide(Y,col,4);
%% 计算性能
fprintf('PSNR :\n ');
psnr=10*log10(255^2*row*col/sum(sum((I-I1).^2)));
disp(psnr)
a=dir();
for i=1:length(a)
if (strcmp(a(i).name,'comp.mat')==1)
si=a(i).bytes;
break;
end
end
fprintf('rate: \n ');
rate=double(si)/(256*256);
disp(rate)
figure(1)
imshow(I)
title('原始图像');
figure(2)
imshow(I1)
title('重建图像');

3 仿真结果

【图像压缩】基于BP神经网络实现图像压缩含Matlab源码_图像压缩

【图像压缩】基于BP神经网络实现图像压缩含Matlab源码_神经网络_02

4 参考文献

[1]钱海军. 基于BP神经网络的图像压缩的Matlab实现[J]. 电脑开发与应用, 2011, 24(12):3.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


【图像压缩】基于BP神经网络实现图像压缩含Matlab源码_图像压缩_03

网友评论