登录论坛

查看完整版本 : 【求助】图像的分块处理


271200017
2008-02-27, 12:43
本人有个程序没做出来,求助下大家
1 将256*256 的图像分成128*128个2×2的小块
2 以每个2×2的平均像素代替2×2的像素 新组成256×256的图像

chenhuips2
2008-02-27, 21:40
clear
I=imread('111.jpg');
imshow(I)
s=size(I);
r=2;
I=double(I);
for i=1:r:s(1,1)
for j=1:r:s(1,2)
for m=1:3;
a(m)=I(i,j,m)+I(i+1,j,m)+I(i,j+1,m)+I(i+1,j+1,m);
end
for n=1:3
I(i,j,n)=fix(a(n)/(r^2));
I(i+1,j,n)=fix(a(n)/(r^2));
I(i,j+1,n)=fix(a(n)/(r^2));
I(i+1,j+1,n)=fix(a(n)/(r^2));
end
end
end
I=uint8(I);
figure
imshow(I)

LZ试试~~

271200017
2008-02-28, 17:20
谢谢你 我已经用blkproc函数编出来了

huikai1123
2008-03-14, 09:55
我现在也在做这个工作,也是对图像分块并对每块取平均值,希望你能赐教

dnping
2008-03-14, 10:07
谢谢你 我已经用blkproc函数编出来了

鼓励自己解决问题的会员,加油……

tolabfans
2008-03-16, 15:19
谢谢你 我已经用blkproc函数编出来了...
matlab的功能好强大啊

271200017
2008-03-19, 22:34
mtlab 中有个分块处理函数blkproc用他可以直接做 调用f=inline('x(1,1)') I1=blkproc(I,[2 2],f)就行了

danlei0120
2008-03-26, 09:25
我正学到这个分块,看了一下,谢谢。

suchun23
2008-03-28, 11:14
刚刚学,试试!