Workaround for the norminv function in statistics toolbox
13 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am working on some image processing software and to get rid of the background noise in the pictures I am working with, it was suggested I use the following code. I found that it worked, however the computer I want to process these images on does not have the statistics toolbox which contains the norminv function. I was wondering if there is a way to work around using that particular function
Here is what my code currently looks like:
im=rgb2gray(imread(input('What picture would you like to input: ','s')));
fmt=fspecial('gaussian',2*ceil(-norminv((1e-1)/2,0,4))+1,4.0);
im2=(double(im)-imfilter(double(im),fmt))./(sqrt(imfilter((double(im)-imfilter(double(im),fmt)).^2,fmt)));
im3=filter2(fspecial('average',10),im2);
im4=...
Any suggestions?
0 commentaires
Réponse acceptée
Wayne King
le 19 Juil 2013
Modifié(e) : Wayne King
le 19 Juil 2013
You can use the inverse complementary error function. You'll have to convert from a nonstandard normal distribution, but that should not be hard.
If you are dealing with the standard normal, N(0,1), then
p = 0.9;
norminv(p)
is equal to
-sqrt(2)*erfcinv(2*p)
If you have a Gaussian distribution other than the standard normal
mu = 1;
sigma = 4;
p = 0.9;
norminv(0.9,1,4)
equals
sigma.*(-sqrt(2)*erfcinv(2*p))+mu
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!