空间滤波变换展开目录
$$ g(x,y) = \sum_{s = -a}^{a} \sum_{t = -b}^{b} w(s,t)f(x+s, y + t) $$
灰度变换展开目录
令 $r$ 和 $s$ 分别表示输入图像 $f (x,y)$ 和输出图像 $g (x,y)$ 在任意点 $(x,y)$ 的灰度值,灰度变换可表示为:
$$ g(x,y) = T[f(x,y)] \rightarrow s = T(r) $$
例如:$s = T (r) = \frac {1}{1 + (\frac {m}{r})^{e}}$
根据灰度变换函数 $T [r]$ 选择方法不同,会变换可分为:直方图处理方法和直接灰度变换
线性函数(正比,反比,分段线性函数)展开目录
- 图像反转
对灰度范围为 $[0,L-1]$ 的图像,表达式为 $s = L - 1 - r$
这种处理尤其适用于增强嵌入图像暗色区域的白色或灰色细节,特别是当黑色面积占主导地位时
- 分段线性变换函数
对比度拉伸,低对比度(照明不足、传感器动态范围小)提高图像灰度级的动态范围,改善图像对比度
对数函数展开目录
$$ s = clog(1+r) $$
其中,$c$ 是一个常数,且假定 $r\geq0$,对数变换常用于图像动态范围压缩
幂律(伽马)函数展开目录
$$ s = cr^{\gamma} $$
$0<\gamma<1$,图像的低值部分就会越大,使得图像整体更亮;
$\gamma>1$,图像的低值部分就会越小,是的图像整体更暗
Matlab 实现亮度变换展开目录
Matlab 提供了 imadjust()
函数用于实现亮度变换支持反转、幂次g = imadjust(f, [low_in, high_in], [low_out, high_out], gamma)
- f = imread('breast.tif');
- out1 = imadjust(f, [0; 1], [1; 0]);
- out2 = imadjust(f, [0.5; 0.75], [0; 1])
- out3 = imadjust(f, [], [], 2)
-
- subplot(2, 2, 1);imshow(f)
- subplot(2, 2, 2);imshow(out1)
- subplot(2, 2, 3);imshow(out2)
- subplot(2, 2, 4);imshow(out3)
- f1 = imread('Aerial Origninal.tif');
- f1 = double(f1);
- out1 = f1.^3;
- out2 = f1.^4;
- out3 = f1.^5;
- subplot(2, 2, 1);imshow(f1);
- title('原图')
- subplot(2, 2, 2);imshow(out1);
- title('out1 = f1.^3')
- subplot(2, 2, 3);imshow(out2);
- title('out2 = f1.^4')
- subplot(2, 2, 4);imshow(out3);
- title('out3 = f1.^5')
- f2 = imread('Fig0305(a)(spectrum).tif');
- out1 = im2uint8(mat2gray(log(1+double(f2))));
- subplot(1, 2, 1);imshow(f2)
- subplot(1, 2, 2);imshow(out1)