Как использовать изображение, имеющее мнимые значения, для дальнейшей обработки, такой как бинаризация в MATLAB?

У меня есть серое изображение, к которому я применил гомоморфную фильтрацию. Результат этой фильтрации дает мне изображение, которое имеет некоторые комплексные числа в качестве значений пикселей. Когда я рассматривал мнимое изображение и реальное изображение отдельно, то понял, что для дальнейшей обработки мне нужен только мнимый образ. Но я не могу его использовать, так как не могу преобразовать воображаемое изображение в бинарную форму для дальнейшей обработки. Если у кого-то есть какое-либо решение или предложение по этому поводу, пожалуйста, дайте мне знать.

Вот весь образ процесса: введите здесь описание изображения

сложное изображение: введите здесь описание изображения

реальное изображение: введите здесь описание изображения

исходное серое изображение: введите здесь описание изображения


person Prachi    schedule 05.09.2017    source источник
comment
Взять мнимую часть и применить порог?   -  person m7913d    schedule 05.09.2017
comment
Я пытался использовать imbinarize в MATLAB, но он говорит, что не может бинаризировать и отображать мнимые значения. Я попытался выбрать минимальное значение из мнимых значений, но не смог найти, так как выдает ошибку.   -  person Prachi    schedule 07.09.2017
comment
Как вы можете построить мнимую часть? Вероятно, вы использовали imag. Используйте вывод, который является реальным, в качестве аргумента для imbinarize. Вы также можете применить порог вручную, используя сравнение на равенство, то есть image > thresholdValue.   -  person m7913d    schedule 07.09.2017


Ответы (1)


Как говорит m7913d, вы можете взять мнимую часть каждого пикселя, используя imag:

Ex:

imaginary_img = imag(complex_img);

Кроме того, хорошей техникой бинаризации является установка порога с использованием среднего значения изображения.

threshold = mean(mean(imaginary_img));
binarized_img = imbinarize(imaginary_img,threshold);
person Jose Marques Junior    schedule 08.09.2017