• 大小: 815B
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: Matlab
  • 标签: 图像压缩  

资源简介

function P = block_divide(I,K) % P=block_divede(I) % [row,col]=size(I),row%K==0, and col%K==0 % divide matrix I into K*K block,and reshape to % a K^2*N matrix % example: % I=imread('lena.jpg'); % P=block_divide(I,4); % 计算块的个数:R*C个 [row,col]=size(I); R=row/K; C=col/K; % 预分配空间 P=zeros(K*K,R*C); for i=1:R for j=1:C % 依次取K*K 图像块 I2=I((i-1)*K+1:i*K,(j-1)*K+1:j*K); % 将K*K块变为列向量 i3=reshape(I2,K*K,1); % 将列向量放入矩阵 P(:,(i-1)*R+j)=i3; end end

资源截图

代码片段和文件信息

% bp_imageRecon.m

%% 清理
clearclc
close all

%% 载入数据
col=256;
row=256;
I=imread(‘d:\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);

%% 

评论

共有 条评论