www.gusucode.com > 《matlab图像处理与界面编程宝典》秦襄培 编著,每章的MATLAB源代码程序 > 第18章/代码18-11.txt

    
close all                                  % 关闭所有正在运行的窗口
I = imread('rice.png');                    % 读入图像
I=im2double(I);                            % 转换数据类型
figure,imshow(I);                          % 显示原始图像
title('rice. png ')                        % 设置图像标题
bg32=blkproc(I,[32,32],'min(x(:))');
%估计图像背景的照度,通过取32×32大小图像块中的最小值做图像背景的照度。
%用blkpoc函数加快运算速度。   
figure,surf(bg32);                         % 显示背景图像的三维表现
title('surf for image block');             % 设置图像标题
bg256=imresize(bg32,[256,256],'bicubic');  % 调整图像大小
figure,imshow(bg256);               
%将粗略估计的背景矩阵扩展成与原始图像大小相同的矩阵,这是通过双三次插值实现。
title('total background')                  % 设置图像标题
II=I-bg256;
%从原图像中减去估计出的背景图像以消去照度不均匀的影响,但使图像变暗。
figure,imshow(II);                         % 显示处理后的图像
title('de-background image')               % 设置图像标题
III=imadjust(II,[0,max(II(:))],[0,1]);     % 通过指定图像的灰度范围,调整图像灰度。
figure,imshow(III);                        % 显示处理后的图像
title('adjusted imagebintensitybvalue')    % 设置图像标题