数字图像处理实验二图像数字化示例

  1. 进入 Matlab 7.11 集成开发环境,并打开脚本编辑器。
  2. 在脚本编辑器中编写一段程序,要求:
    (1) 读入存放在 lena.jpg 中的原始图像,将其假象为一幅连续图像;
    (2) 以采样间隔 (16, 16) 对原始图像进行采样,要求采样点的值为原图像 16 × 16 块的均值,像点大小为原来的 16 × 16 倍;这样的采样要求就意味着对原始图像进行 16 × 16 的块处理,且用 uint8 函数对块均值取整量化后,取代块中所有原像素的值;
    (3) 显示该采样图像;
    (4) 以采样间隔 (8, 8) 对原始图像进行采样,要求采样点的值为原图像 8 × 8块的均值,像点大小为原来的 8 × 8 倍;
    (5) 在另一个窗口中显示该采样图像;
    (6) 以采样间隔 (4, 4) 对原始图像进行采样,要求采样点的值为原图像 4 × 4块的均值,像点大小为原来的 4 × 4 倍;
    (7) 在另一个窗口中显示该采样图像;
    (8) 在另一个窗口中显示原始图像。
  3. 将编写的程序保存为 Example2_1Digitize1.m 。
  4. 运行该程序,并比较原始图像与各采样图像,以结果来检验采样的效果。
  5. 修改原来的程序,将四幅图像放置在一个窗口中显示对比,并将结果保存在

img

%%Example2_1Digitize1
I=imread('greenleaf.jpg');%%读入图片
I=rgb2gray(I);%%图像灰度化
 
J=blkproc(I,[16 16],'uint8(ones(16).*mean2(x))');%%采样间隔16*16
H.color=[1 1 1];%%设置背景为白色,打开原图像
figure(H);
imshow(J);
title('采样间隔16*16')
 
F=blkproc(I,[8 8],'uint8(ones(8).*mean2(x))');%%采样间隔8*8
figure(H);
imshow(F);
title('采样间隔8*8')
 
P=blkproc(I,[4 4],'uint8(ones(4).*mean2(x))');%%采样间隔4*4
figure(H);
imshow(P);
title('采样间隔4*4')
 
figure(H);
imshow(I);
title('原图像')
%%Example2_1Digitize2
I=imread('greenleaf.jpg');%%读入图片
I=rgb2gray(I);%%图像灰度化
 
J=blkproc(I,[16 16],'uint8(ones(16).*mean2(x))');%%采样间隔16*16
H.color=[1 1 1];%%设置背景为白色,打开原图像
figure(H);
subplot(221);
imshow(J);
title('采样间隔16*16')
 
F=blkproc(I,[8 8],'uint8(ones(8).*mean2(x))');%%采样间隔8*8
subplot(222);
imshow(F);
title('采样间隔8*8')
 
P=blkproc(I,[4 4],'uint8(ones(4).*mean2(x))');%%采样间隔4*4
subplot(223);
imshow(P);
title('采样间隔4*4')
 
subplot(224);
imshow(I);
title('原图像')

img