資源簡介
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);
%%?
- 上一篇:無約束最優控制matlab程序
- 下一篇:距離假目標干擾下目標回波
評論
共有 條評論