%线性灰度变换函数
%若为彩图要先转换为灰度图rgb2gray()命令
I = imread(''); %读取图像
I = im2double(I);%图像转换为double类型
[row, col] = size(I);%计算图像大小
figure(1);%打开新图像1
subplot(2, 2, 1);%打开两行两列图像窗口,焦点在第一个位置
imshow(I);
title('原图');
figure(2);
[H, x] = imhist(I, 64);%计算64个小区间的灰度直方图
stem(x, (H/row/col), '.');
title('原图');
%-----------------------------------------------------
% Db = f(Da) = fa * Da + fb
% fa > 1 时, 输出图像的对比度将增大; 当fa < 1时, 对比度减小.
% 当fa = 1, fb != 0时, 操作使所有像素的灰度值上下移, 整个图
% 变得更亮或者更暗
%增加对比度
Fa = 2; Fb = -55;
o = Fa .* I + Fb / 255;
figure(1);
subplot(2, 2, 3);
imshow(o);
title('Fa = 2; Fb = -55;');
%相反显示
Fa = -1; Fb = 255;
o = Fa .* I + Fb / 255;
figure(1);
subplot(2, 2, 4);
imshow(o); title('Fa = -1; Fb = 255;');
%线性灰度变换函数
%-----------------------------------------------------
H = imread(''); %读取图像
I=rgb2gray(H);%转换成灰度图
I = im2double(I);%图像转换为double类型
[row, col] = size(I);%计算图像大小
figure(1);%打开新图像1
subplot(3, 3, 1);%打开两行两列图像窗口,焦点在第一个位置
imshow(H);%显示彩图
title('RGB原图');
figure(1);%继续在figure1面板绘图
subplot(3,3,2);%绘制在第二个位置上
imshow(I);%显示灰度图
title('Gray原图')
figure(1);
subplot(3,3,3);
[H, x] = imhist(I, 64);%计算64个小区间的灰度直方图
stem(x, (H/row/col), '.');
title('灰度直方图');
%灰度线性变换函数说明
% Db = f(Da) = fa * Da + fb
% fa > 1 时, 输出图像的对比度将增大; 当fa < 1时, 对比度减小.
% 当fa = 1, fb != 0时, 操作使所有像素的灰度值上下移,
% 这将会使得整个图变得更亮或者更暗
Da=I;
% 增加对比度
fa=2;fb=-20
线性灰度变换函数 来自淘豆网m.daumloan.com转载请标明出处.