matlab实现高提升滤波

function d=highf(a,n);       % 高提升滤波函数,a是图像,n是乘法系数


w1=[1 1 1;1 -8 1;1 1 1];
g1=fil(a,w1);                %由于老师不许使用Matlab中现有的函数,所以自己编写fil代替滤波函数
g2=(n*a-g1);                 %由于-8<0,所以是减号
immax=max(max(g2));          %找到g2矩阵的最大值            
immin=min(min(g2));          %找到g2矩阵的最小值
d=(g2-immin)./(immax-immin); %原图片与拉普拉斯滤波后的图像相加减,
                             %结果可能超出[0,1]的范围,所以进行归一化将immin,immax经过线性变换y=b*x+c成0,1
 

end

 

结果显示

matlab实现高提升滤波_第1张图片

matlab实现高提升滤波_第2张图片

你可能感兴趣的:(图像处理)