g = imadjust(f,[low_in,high_in],[low_out,high_out],gamma);
%f为输入的图像
%后面两个区间表示将[low_in,high_in]之间的值映射为[low_out,high_out]之间的值
%gamma为调节权重,小于1则映射被加权至更高的值(更亮),大于1则更暗
线性空间滤波技术可以用拉普拉斯滤波器:\(g(x,y)=f(x,y)+c \Delta f(x,y)\)
其中\(\Delta f(x,y)\)用差分方法表示,
\[\nabla^2f(x,y)=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y) \]这就相当于乘了一个矩阵\(T_1=\begin{bmatrix}0 &1 &0\\ 1& -4 &1\\ 0& 1 &0 \end{bmatrix}\),此外还有\(T_2=\begin{bmatrix}1 &1 &1\\ 1& -8 &1\\1& 1 &1 \end{bmatrix}\)近似拉普拉斯算子。
编程时可用函数\(h=fspecial(’laplacian’,a)\)来实现拉普拉斯算子的掩模,这样构造了一个拉普拉斯算子的矩阵h。
非线性滤波技术的一个工具为\(g=ordfilt2(f,order,domain)\).
生成的g为,用邻域的一组序列元素中的第order个元素替代f中的每个元素,邻域由domain中的非零元素确定。
g = ordfilt2(f,1,ones(m,n))
% 中值滤波器的特化函数
g = medfilt2(f,[m,n]) %等价于g = ordfilt2(f,median(1:m*n),ones(m,n))
简略形式g = medfilts(f) %默认用3*3的邻域
标签:拉普拉斯,滤波,亮度,high,low,bmatrix,空间,out
From: https://www.cnblogs.com/cxy1114blog/p/18459149