灰度变换与空间滤波
一、灰度变换函数:
- 图像反转变换:s =L -1- r 适合黑色主导图像
- 对数变换:压缩图像的动态范围
g=im2unit8(mat2gray(log(1+double(f))));
- 幂次变换:
MATLAB灰度变换:
- 直方图处理
图像中不同灰度级像素出现的次数
imhist(g)直方图绘制
histeq(g)直方图均衡化 求变换函数用cumsum()
bar(h,g)条形图 h:水平增量 h=linspace(0,255,25)
axis([0 255 0 60000])坐标范围 xlim('auto')自动范围
xlabel轴标尺 text文本
stem杆状图 plot曲线图
- 应用:镜头边界检测
镜头检测方法1——连续帧相减
镜头检测方法2——连续帧的直方图相减
镜头检测方法3——时空切片分析
二、空间滤波器
使用空间模板进行的图像处理,被称为空间滤波。模板本身被称为空间滤波器,乘积求和
- 平滑空间滤波器:去除图像中一些不重要的细节,减小噪声
平滑空间滤波器的分类:
线性滤波器:均值滤波器、加权平均
w=ones(31)
w1=rot90(w,2) w旋转180
g=imfilter(f,w,‘conv’,'replicate') w滤波模板 conv 滤波模式 replicate边界选项
非线性(统计排序)滤波器,可能改变图像性质
➢ 最大值滤波器(寻找最亮点)
➢ 中值滤波器(适合椒盐噪声,去噪)
➢ 最小值滤波器(寻找最暗点)
f=[1 2;3 4]
fp=padarray(f,[3,2],'replicate','post')填充图像f
g=colfilt(f,[m,n], 'sliding', fun) 非线性滤波
- 锐化空间滤波器:突出灰度过度部分
使用拉普拉斯算子(二阶微分)突出细节
使用非锐化屏蔽和高提升滤波:平滑的忽略
使用梯度(一阶微分)突出边缘
➢ Roberts交叉梯度算子
➢ Prewitt梯度算子
➢ Sobel梯度算子
混合空间增强法:组合方法
空间滤波器--MATLAB工具箱
- 线性滤波
>> w=fspecial('laplacian',0) type滤波器类型-拉普拉斯
>> f=imread('a.tif');
>> g1=imfilter(f,w,'replicate');
>> imshow(g1,[])
>> f2=tofloat(f);
>> g2=imfilter(f2,w,'replicate');
>> figure,imshow(g2)
>> figure,imshow(g);
- 非线性滤波
排序滤波器ordfilt2()、工具箱medfilt2()