J'avais prise de co-relation de l'image avec le filtre de journal via la commande iMfilter. image: p>
p> p>
3 Réponses :
Le problème que vous avez est que vous ne montrez pas le résultat correctement.
Votre résultat est dans la plage 0-31, mais vous devez le convertir en 0-255 pour le tracer! P>
faire p>
p> p>
Pourquoi le résultat est-il dans la plage 0-31?
Parce que vous appliquez un filtre de journal et que le filtre ne normalise pas le résultat.
@Anderbiguri - Vous pouvez également faire imshow (z, []) code>, ce qui contraste normaliser les résultats d'affichage lorsque les valeurs minimales et maximales correspondaient à [0,1] code >. Sinon, bon endroit!
Conversion de l'image au double de l'unité par défaut8 résoudra également le problème.
@ M.Zaman Vous devez faire attention à la conversion en double. Faire simplement double (z) code>; Ne résoudra pas le problème car vous aurez des valeurs qui sont au-delà de 1 et satiseront l'image lorsque vous essayez de l'afficher. Pensez à utiliser im2double code> au lieu de contraster normaliser les intensités à [0,1] code>.
convertir l'image en double (double précision) résoudra le problème car Imread Commande a pris l'image dans l'unité par défaut de l'unité 8 (non signé INT). P>
Je envisagerais d'utiliser im2double code> au lieu de simplement lancer comme double code> comme im2double code> normalisera également les intensités afin qu'elles s'adaptent entre [0, 1] code>. Juste casting à double code> ne fera pas cela. De plus, imread code> Chargement d'une image dans "Par défaut" uint8 code> est techniquement pas correct. La précision de chaque pixel est définie dans l'en-tête de l'image que imread code> analyse et examine. Par exemple, TIF peut être de 8, 16 ou 24 ou 32 bits. Ce n'est que la majorité des images qui utilisent 8 bits par intensité / couleur, nous pensons donc naturellement que c'est "par défaut".
mais Im2Double ne fonctionnera pas dans ce cas parce que les intensités resteront dans [0,1] mais nous ne voulons pas normaliser les intensités, si nous le faisons, l'image résultante sera black.Je avait essayé et obtenu les résultats précis .
Une absurdité totale. imshow code> pour double code> Les images sont conçues B> pour prendre des intensités entre [0,1] code>, qui obtiennent Visualisée B> aux intensités entre le noir et le blanc. Quiconque vous a donné le vote de +1 pour votre commentaire ne sait pas ce qu'ils parlent non plus.
Le meilleur moyen de résoudre ce problème n'est pas de changer votre image, mais de modifier la façon dont ou, mieux encore, essayez ceci: p> qui revalonnera automatiquement l'image, cartographier la valeur minimale à 0 et le maximum à 255. p> p> imshow code> l'affiche. Essayez ceci:
Nous montre un code et des résultats! J'aimerais pouvoir comprendre un processus d'image entier gproblème avec une seule ligne :(. Cependant, votre image uint8 ou double?
Impossible de poster des images: / à cause de la traîne de 10 points ou de 10 points, mais le code exemple est comme suit z = iMfilter (i, fspecial ("log", 11,1.5)); % I est l'image 11 est la taille du masque et 1,5 est la valeur de la valeur de Sigma, Imshow (Z);
Téléchargez-le quelque part et je posterai le lien. Je vais le mettre
essayer: z = imfilter (double (i) ./ 255, fspecial ("log", 11,1.5)); Figure Imshow (x);
S27.POSTIMG.ORG/UCTR8EOPF/LOG_FILTERD_IMAGE.jpg
Note mineure: Ce serait imshow (z) non?
S'il vous plaît, modifiez votre question avec les informations. De plus, je voulais que vous postiez l'image d'origine. Nous savons comment une image noire est
L'image originale était: S30.POSTIMG.ORG/DG7E0FJFL/WHEEL.PNG
Oui, c'est vraiment imshow (z).
Comment diable cette question a-t-elle eu 10 upvotes? (10 UPVOTES / 3 Downvotes = +7 Total). Avez-vous un tas de comptes de marionnettes chaussettes pour gonfler votre réputation?