Le bruit d'Estimation / Mesure de Bruit dans l'Image
Je veux estimer le bruit dans une image.
Supposons que le modèle d'une Image + un Bruit Blanc.
Maintenant, je veux estimation de la Variance du Bruit.
Ma méthode consiste à calculer la Variance Locale (3*3 jusqu'à 21*21 Blocs) de l'image, puis de trouver des zones où l'Écart est assez constante (Par le calcul de la Variance Locale de la Locale de la Variance de la Matrice).
Je suppose que ces zones sont "à Plat", par conséquent, l'Écart est presque "Pure" de bruit.
Pourtant je ne suis pas d'obtenir des résultats constants.
Est-il un meilleur moyen?
Grâce.
P. S.
Je ne peux pas supposer quoi que ce soit à propos de l'Image, mais les indépendants de bruit (ce Qui n'est pas vrai pour de vrai image mais supposons).
OriginalL'auteur Royi | 2010-03-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la méthode suivante pour estimer la variance du bruit (cette application fonctionne pour les images en niveaux de gris uniquement):
De référence: J. Immerkær, “Fast le Bruit de l'Estimation de la Variance”, Computer Vision and Image Understanding, Vol. 64, n ° 2, pp. 300-302, Sep. 1996 [PDF]
Cela fonctionne réellement! Si vous obtenez sigma > 10.0, alors vous avez une image bruyante, autrement - pas. Aussi, pour le faire fonctionner sur des images en couleur, juste les convertir en niveaux de gris comme ceci:
import cv2
img = cv2.imread(img_path)
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
noise = estimate_noise(img_gray)
Et n'oubliez pas de
import math
,import numpy as np
etfrom scipy.signal import convolve2d
😉Aussi le PDF fourni le lien ne fonctionne pas - utiliser ceci à la place: sciencedirect.com/science/article/pii/S1077314296900600
"sigma" quelle est cette valeur ?? Il devrait nous haute ou basse ?? Est-il possible de capturer l'image, sans faire de bruit si nous sommes à l'aide de REFLEX ???? @tsveti_iko
OriginalL'auteur user2398029
Le problème de la caractérisation du signal de bruit n'est pas facile. D'après votre question, un premier essai serait de caractériser second ordre statistique: les images naturelles sont connus pour avoir de pixel à pixel des corrélations qui sont -par définition - pas présents dans un bruit blanc.
Dans l'espace de Fourier la corrélation correspond à l'énergie du spectre. Il est connu que, pour des images naturelles, il décroît comme 1/f^2 . Pour quantifier le bruit, je vous recommande donc de calculer le coefficient de corrélation du spectre de l'image avec les deux hypothèse (plat et 1/f^2), de sorte que vous extrayez le coefficient.
Certaines fonctions pour commencer à vous:
Je recommande ce merveilleux livre pour plus de détails.
Pourriez-vous donner la référence complète de l'article? Le lien que vous avez fourni est maintenant mort. Thx.
C'est peut-être ce document: redwood.berkeley.edu/w/images/6/69/08-atick-nc-1992.pdf (juste à l'hypothèse de la mort lien url)
merci pour remarquer le lien mort, j'ai résolu ce problème !
OriginalL'auteur meduz
Scikit Image a une estimation fonction sigma qui fonctionne assez bien:
http://scikit-image.org/docs/dev/api/skimage.restoration.html#skimage.restoration.estimate_sigma
il travaille également avec des images en couleur, il vous suffit de définir
multichannel=True
etaverage_sigmas=True
:Nombre élevé moyen faible bruit.
OriginalL'auteur lotif