www.gusucode.com > Matlab实现的隐马尔科夫树模型源码程序 > contourletHMT/contournc.m
% contournc.m % (abbreviation of contourlet Noise Covariance) % written by: Duncan Po % Date: January 14 /2004 % Usage: nc = contournc(nv, dim, pyrfilter, dirfilter, nlev, imdim) % nc: noise variance in the contourlet domain % nv: white noise variance in the image domain % pyrfilter: pyramid filter for contourlet transform % dirfilter: directional filter for contourlet transform % nlev: partition scheme for contourlet transform % imdim: image dimension (length of a side, square image is assumed) % uses monte-carlo approach to determine the noise variance of image % domain white noise in contourlet domain function nc = contournc(nv, pyrfilter, dirfilter, nlev, imdim) numtrial = 200; for trial = 1:numtrial noisepic = (255*sqrt(nv))*randn(imdim); %figure; %imshow(noisepic); noisecontour = pdfbdec(noisepic, pyrfilter, dirfilter, nlev); for scale = 2:length(noisecontour) n = []; for dir = 1:length(noisecontour{scale}) if trial == 1 nc{scale}{dir} = noisecontour{scale}{dir}... .*noisecontour{scale}{dir}/numtrial; else nc{scale}{dir} = nc{scale}{dir} + noisecontour{scale}{dir}... .*noisecontour{scale}{dir}/numtrial; end; end; end; end;