一、实验目的
.掌握图像读入、显示及图像灰度变换的基本理论和实现方法。
二、实验设备及条件
计算机一台(带有 Matlab2015 版本以上的软件环境),以及实验所需图片。
三、实验内容
1.按照该灰度变换曲线,对一副灰度图像进行灰度映射变换,并在同一窗口中显
示原图像和变换后图像。
读入一幅图像,分别对其进行求反变换、对数变换和幂次变换。并显示原图
像和变换后图像。
i = imread('图片2.png');
subplot(121),imshow(i),title('原图像');
g1 = imadjust(i,[0,1],[1,0]); %图像的灰度值反转
% g1 = imcomplement(i); %imcomplement也可以反转图像
subplot(122),imshow(g1),title('反转变换图像');
这里主要使用了imadjust()函数
imadjust(f ,[low_in,high_in], [low_out,high_out],gamma)
将[low_in,high_in]之间的值映射到 [low_out,high_out],需要注意的是这里的值都被限定到 [0,1] 之间,相当于归一化,in和out都是。
又比如:
g1 = inadjust(i, [0.5,0.75] , [1,0]);
参数 gamma 指定从图像f 中的灰度值映射生成图像 g 的曲线的形状。若 gamma 值小于 1,则映射被加权至较高(较亮)的输出值,如图 2.2(a)所示。若 gamma 的值大于 1,则映射被加权至较低(较暗)的输出值。若函数参量缺省,则 gamma 默认为 1(线性映射)。
对数变换:
%对数变换
c = 20; %参数
g2 = uint8(c*log(1+double(i)));
figure(2),imshow(g2),title('对数变换');
幂次变换:
%幂次变换
d = 0.5;
g3 = uint8(255*((double(i)/255).^d));
figure(3),imshow(g3),title('幂次变换');