0

J'ai une image grise sur laquelle j'ai appliqué un filtrage homomorphique. Le résultat de ce filtrage me donne une image qui a des nombres complexes car ce sont des valeurs de pixels. Lorsque j'ai regardé l'image imaginaire et l'image réelle séparément, j'ai réalisé que je n'avais besoin que d'une image imaginaire pour un traitement ultérieur. Mais je suis incapable de l'utiliser car je suis incapable de binariser l'image imaginaire pour un traitement ultérieur. Si quelqu'un a une solution ou une suggestion à ce sujet, veuillez me le faire savoir.Comment utiliser une image ayant des valeurs imaginaires pour un traitement ultérieur comme la binarisation dans MATLAB?

est ici toute l'image du processus: enter image description here

image complexe: enter image description here

image réelle: enter image description here

image grise d'origine: enter image description here

+1

Prenez la partie imaginaire et appliquez un seuil? – m7913d

+0

J'ai essayé d'utiliser imbinarize dans MATLAB mais il est impossible de binariser et d'imager des valeurs imaginaires. J'ai essayé de sélectionner la valeur min à partir de valeurs imaginaires, mais je n'ai pas pu trouver car cela donne une erreur. – Prachi

+0

Comment vous pouvez tracer la partie imaginaire? Vous avez probablement utilisé 'imag'. Utilisez la sortie, qui est réelle, comme argument pour 'imbinarize'. Vous pouvez également appliquer un seuil manuellement en utilisant une comparaison d'égalité, c'est-à-dire 'image> thresholdValue'. – m7913d

Répondre

0

Comme le dit m7913d, vous pouvez prendre l'imaginaire une partie de chaque pixel en utilisant imag:

Ex:

imaginary_img = imag(complex_img); 

En outre, une bonne technique pour binariser est fixé le seuil en utilisant la moyenne de l'image.

threshold = mean(mean(imaginary_img)); 
binarized_img = imbinarize(imaginary_img,threshold);