📄 myshrink2.m
字号:
function J = myshrink2(I,k1,k2)
% myshrink2.m: 基于局部子块的图像缩小程序:其中,k1,k2分别为行、列
% 的缩小因子。
% 局部子块F(i,j)的确定:
% F(i,j) = I(r1:r2,c1:c2);
% J(i,j) = sum(F)/N,其中,N是子块像素个数
if k1 > 1 || k2 > 1
error('input k1 or k2 is error');
end
I=double(I);
k1 = 0.1; k2 = 0.21;
di = 1/k1; dj = 1/k2;
[r,c] = size(I);
si = round(r*k1); sj = round(c*k2);
for i = 1:si
for j = 1:sj
r1 = di*(i-1) + 1;
r2 = di*i;
c1 = dj*(j-1) + 1;
c2 = dj*j;
if round(di*i) > r
if round(dj*j) <= c
J(i,j) = sum(sum(I(r1:r,c1:c2)))/((r-r1)*(c2-c1));
else
J(i,j) = sum(sum(I(r1:r,c1:c)))/((r2-r1)*(c-c1));
end
else
if round(dj*j) <= c
J(i,j) = sum(sum(I(r1:r2,c1:c2)))/((r2-r1)*(c2-c1));
else
J(i,j) = sum(sum(I(r1:r2,c1:c)))/((r2-r1)*(c-c1));
end
end
end
end
return
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -