Ⅱ 灰度变换与空间滤波

1.1 背景

空间域处理:
ALT
式中:

  • f(x, y) 为输入图像;
  • g(x, y) 为输出(处理后的)图像;
  • T 是在点 (x, y) 的一个指定领域上定义对图像 f 进行处理的算子。

1.2 灰度变换函数

灰度变换函数:
在这里插入图片描述
式中:

  • r 表示图像 f 中相应点 (x,y) 的灰度;
  • s 表示图像 g 中相应点 (x, y) 的灰度。

1.2.1 函数 imadjust 和 stretchlim

函数 imasjust 是一个基本的图像处理工具函数,用于对灰度级图像进行灰度变换

g = imadjust ( f , [ low_in high_in ] , [ low_out high_out ] , gamma )

  • 该函数将图像 f 中的灰度值映射到图像 g 中的新值,即将 low_inhign_in 之间的值映射到 low_outhigh_out
  • 除了 fgamma ,其所输入值都被限定在 01 之间。

Low_High = stretchlim ( f )

  • Low_High是一个两元素向量,由一个低限和一个高限组成,用于实现对比度拉伸。
f = imread('Fig0203(a).tif');
subplot(2, 3, 1); imshow(f);

g1 = imadjust(f, [0 1], [1 0]); % 等同 g1 = imcomplement(f)
subplot(2,3,2); imshow(g1);

g2 = imadjust(f, [0.5 0.75], [0 1]);
subplot(2, 3, 3); imshow(g2);

g3 = imadjust(f, [ ], [ ], 2);
subplot(2, 3, 4); imshow(g3);

g4 = imadjust(f, stretchlim(f),[]);
subplot(2, 3, 5); imshow(g4);

g5 = imadjust(f, stretchlim(f),[1 0]);
subplot(2, 3, 6); imshow(g5);

在这里插入图片描述

1.2.2 对数及对比度拉伸变换

对数和对比度拉伸变换是动态范围操作的基本工具。表达式:

g = c * log ( 1 + f )

  • c 是常数, f 是浮点数。

执行对数变幻时,我们希望压缩值出现在显示的完整范围内:

gs = im2uint8 ( mat2gray (g) )

  • 通过使用 mat2gray(g) 将值限定在 [0 ,1] 范围内,使用 im2uint8 将值限定在 [0, 255] 范围内,把该图像转换为 uint8 型。
f = imread('Fig0205(a).tif');
subplot(1, 2, 1); imshow(f);

g = im2uint8(mat2gray(log(1 + double(f))));
subplot(1, 2, 2); imshow(g);

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44109571/article/details/89343300