I = imread('山水.jpg'); % 读入原图像
I = rgb2gray(I); %将图片转化为2维灰度图像
I = im2double(I); % 转换数据类型为double
[M,N] = size(I); % 计算图像面积
figure(1); % 打开新窗口
imshow(I); % 显示原图像
title('原图像');
figure(2); % 打开新窗口
[H,x] = imhist(I, 64); % 计算64个小区间的灰度直方图
stem(x, (H/M/N), '.'); % 显示原图像的直方图
title('原图像');
% 增加对比度
Fa = 1.5; Fb = -55;
O = Fa .* I + Fb/255; %利用线性变化来调节图像对比度
figure(3);
imshow(O);
title('Fa =1.5 Fb = -55 增加对比度');
figure(4);
[H,x] = imhist(O,64);
stem(x, (H/M/N), '.');
title('Fa = 1.5 Fb = -55 增加对比度');
% 线性增加亮度
Fa = 1; Fb = 55;
O = Fa .* I + Fb/255; %利用线性变化调节图像亮度
figure(5);
imshow(O);
title('Fa = 1 Fb = 55 线性平移增加亮度');
figure(6);
[H,x] = imhist(O, 64);
stem(x, (H/M/N), '.');
title('Fa = 1 Fb = 55 线性平移增加亮度');