【问题标题】:How can I draw/plot intensity of image in 2D figure in MATLAB如何在 MATLAB 中绘制/绘制二维图中的图像强度
【发布时间】:2016-03-26 18:22:56
【问题描述】:

我有一个关于在二维图中绘制图像强度的示例。 y轴非常清晰,它是图像中像素的强度。但是,我对 x 轴感到困惑,它是像素索引还是什么?你能看到下图并预测什么是 x 轴吗?如何在 MATLAB 中绘制像这样的图形?谢谢

据我所知,如果 x 轴是像素索引,那么我绘制为

I=Img(:);
plot(1:length(I),I);

【问题讨论】:

    标签: matlab image-processing matlab-figure


    【解决方案1】:

    您的图像是一个二维数组,在每个元素中都包含像素强度。

    如果您通过size(img) 检查图像大小,或者如果您计算左侧图像的一行或一列的像素,您会注意到该图像是一个 130x130 像素的数组。

    因此,右侧的图会显示沿图像的一行或一列的强度分布,例如第 100 行。

    要绘制第 100 行,您可以这样写:

    plot(img(100,:)) %//Matlab will automatically put x as 1:size(img,2)
    

    要创建图形(顶行),您可以编写

    figure
    subplot(1,2,1)
    imshow(img,[]);
    subplot(1,2,2)
    plot(img(100,:)
    

    【讨论】:

    • 所以,您的意思是 x 轴是图像中行/列的像素索引。你正在绘制第 100 行的像素强度,对吗?我们可以将图像的整个信息(所有行/列)绘制为 2D 吗?
    • @user3051460: imshow 是绘制整个信息的好方法。或者,您可以 plot(img),一次看到 130 行 - 这使得情节不容易阅读。
    猜你喜欢
    • 2014-08-15
    • 2014-04-13
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 2012-08-17
    • 2017-01-27
    • 1970-01-01
    相关资源
    最近更新 更多