二维高斯正态分布函数(转)
2012-11-29 17:14
921 查看
二维高斯正态分布函数(原创)
二维高斯正态分布函数在很多地方都用的到,比如说在滤波中,自己编了个,但感觉IDL中应该有现成的函数??(我没找到)。如有,请高手指点。;-----------------------------
;二维高斯正态分布函数
;x,y:输入的一维数组(维数应该相同)
;x0,y0:均值
;sd:标准差
function Gaussian2DDistribution,x,y,x0,y0,sd
xsize=N_ELEMENTS(x)
ysize=N_ELEMENTS(y)
if (xsize ne ysize) then begin
Result = DIALOG_MESSAGE('输入的X和Y数组的维数不相同!',/error,title='警告')
return,0
endif
pz=fltarr(xsize,ysize)
for i=0,xsize-1 do begin
for j=0,ysize-1 do begin
a=-((x[i]-x0)*(x[i]-x0)+(y[j]-y0)*(y[j]-y0))/(2.0*sd*sd)
pz[i,j]=exp(a)/(2*3.1415926*sd*sd)
endfor
endfor
return,pz
end
;-------------------------------
pro Gaussian2DDistribution_test
x=FINDGEN(11)-5.0
y=FINDGEN(11)-5.0
z=Gaussian2DDistribution(x,y,0.0,0.0,2.5)
WINDOW,/free, XSIZE=500, YSIZE=500,title='Gaussian 2D Distribution'
SHADE_SURF, z ,x,y
SURFACE, Z,x,y, XST = 4, YST = 4, ZST = 4, /NOERASE
print,total(z)
end
-------------------------------------------------
补充:后来找了找,在CANNY函数中找到了相同的内容,把它贴出来吧
;;---------------------------------------------------------------------------
;; Canny_gaussian
;;
;; Purpose:
;; Create a guassian kernal for smoothing
;;
;; Parameters:
;; SIGMA - sigma value
;;
;; WIDTH - desired width of the kernel
;;
;; Keywords:
;; NONE
;;
FUNCTION canny_gaussian, sigma, width
IF n_elements(sigma) NE 1 THEN sigma = 1.0d
;; if not specified create a 5x5 kernel
IF (n_elements(width) EQ 0) THEN width = 5
;; create X and Y indices
x = (dindgen(width)-width/2) # replicate(1, width)
y = transpose(x)
;; create kernel
kernel = exp(-((x^2)+(y^2))/(2*double(sigma)^2)) / (sqrt(2.0*!pi) * double(sigma))
;; give it an appropriate scale factor
scale = 1/min(kernel) < 16384
kernel = TEMPORARY(kernel)*scale + 1d-6
return, long(kernel)
END
相关文章推荐
- 图像之二维高斯核
- poj--1753 Flip Game(二维反转)(高斯消元)
- 高斯二维滤波
- 图像之二维高斯核
- 二维高斯曲面拟合法求取光斑中心及算法的C++实现
- matlab中二维高斯模板的计算
- matlab生成满足二维高斯(正…
- 二维高斯核实现
- 数值分析Matlab二维正态(高斯)分布以及协方差矩阵
- 图像之二维高斯核
- MATLAB绘制二维高斯曲面
- 数值分析Matlab二维正态(高斯)分布以及协方差矩阵
- 二维高斯核
- Eigen: 二维高斯曲面拟合法求取光斑中心及算法的C++实现
- 图像滤波之二维高斯核
- 二维高斯曲面拟合法求取光斑中心及算法的C++实现
- 二维自适应维纳滤波对高斯噪声的滤除效果
- 图像滤波之二维高斯核
- 二维高斯核的可分离性
- 将二维Excel表格变成一维