1.编写一个命令 m 文件,实现的功能是:
• 读入一幅灰度图像,假设为 ‘rose.tif’,并放在当前目录。
• 以图像的中心为中心,截取原图的二分之一,生成新图像。
• 在同一个窗口并排显示两幅图像。
Answer:
% hw2_2.m
I = imread(‘rose.tif’); % 1 point
[M N] = size(I); % 2 points
J = uint8(zeros(M/2, N/2)); % 2 points
J = I(M/2 - M/4 : M/2 + M/4,N/2 - N/4 : N/2 + M/4); % 4 points
figure, subplot(121), imshow(I);
subplot(122), imshow(J);
2.编写一个函数 m 文件,实现的功能是:将读入的灰度图像(只考虑 double 和uint8 class的图像)的灰度分辨率降低为原来的1/32(即原来的灰度级别 0~31 映射为 0,灰度级别 32~61 映射为 1,……)。然后在同一个窗口显示两幅图像。并返回新图像的矩阵,要求新图像的数据类型与输入图像的一致。
Answer:
function J = hw2_3(I) % define the function, 1 point
if strcmp(class(I), 'double')
I_255 = I * 255;
else
I_255 = double(I);
end % change values to 0~255,