高斯滤波器是空间滤波器的一种,学习高斯滤波器,需要空间滤波的知识作为先验知识(各种数字图像处理的书中都有介绍,冈萨雷斯的经典教材说的还是比较清楚的,建议看英文版,个人感觉比翻译过来的更容易理解)。
siz = (p2-1)/2; %siz为模板行与列各自最大的坐标值 std = p3; %标准差幅值给std %通过meshgrid产生模板上所有位置的x和y的值,这样的好处是可以避免使用循环去 %变换坐标值,提高程序运行的速度 [x,y] = meshgrid(-siz(2):siz(2),-siz(1):siz(1)); %二维高斯分布公式中e的指数 arg = -(x.*x + y.*y)/(2*std*std); %这里没有乘以1/2*pi*σ^2,也就是没有乘以e前面的系数,因为后面在作归一化的 %时候,会把这个系数约去,所以在这里直接省去乘法运算,提高程序运行速度 h = exp(arg); %这句话没有太理解,貌似只有在max(h(:))大于1的时候h才有可能小于eps*max(h(:)) %个人理解应该是限制一下h中的权值,如果权值相对于h中的最大值特别小的话,可以 %忽略不计,使之为零 h(h
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216375.html原文链接:https://javaforall.net
