如何使用具有虚数值的图像在 MATLAB 中进行二值化等进一步处理?

How to use an image having imaginary values for further processing like binarization in MATLAB?

我有一个应用了同态滤波的灰度图像。这个过滤的结果给我一个图像,它有一些复数作为它的像素值。当我分别查看虚像和实像时,我意识到我只需要虚像进行进一步处理。但是我无法使用它,因为我无法将假想图像二值化以进行进一步处理。 如果有人对此有任何解决方案或建议,请告诉我。

这里是整个过程图:

复杂图像:

实拍图:

原始灰度图像:

就像m7913d说的,你可以使用imag取每个像素的虚部:

例如:

imaginary_img = imag(complex_img);

除此之外,一个很好的二值化技术是使用图像的平均值设置阈值。

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