【问题标题】:How to use an image having imaginary values for further processing like binarization in MATLAB?如何使用具有虚值的图像进行进一步处理,如 MATLAB 中的二值化?
【发布时间】:2017-09-05 07:18:15
【问题描述】:

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

这是整个过程图:

复杂图片:

实图:

原始灰度图:

【问题讨论】:

  • 取虚部并应用阈值?
  • 我尝试在 MATLAB 中使用 imbinarize 但它说不能二值化并且图像具有虚值。我尝试从虚值中选择最小值,但无法找到,因为它给出了错误。
  • 如何绘制虚部?你可能用过imag。使用真实的输出作为imbinarize 的参数。您还可以使用相等比较手动应用阈值,即image > thresholdValue

标签: matlab gesture-recognition complextype binary-image homomorphic-filter


【解决方案1】:

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

例如:

imaginary_img = imag(complex_img);

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 2018-07-05
    • 2018-06-23
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多