如何在Matlab中更改轴值(imhist命令)

时间:2017-06-07 21:21:44

标签: image matlab histogram

%boat_image&histogram
subplot(1,2,1)
imshow(I01);
subplot(1,2,2)
imhist(I01);
saveas( gcf, 'boat_image&histogram', 'jpg' );

enter image description here 我想涵盖所有y值。如何根据覆盖最大值更改轴值?

添加以下命令后,我收到了下面不同的直方图。

%boat_image&histogram
subplot(1,2,1)
imshow(I02);
subplot(1,2,2)
[cts,x] = imhist(I02);
stem(cts,x);
ylim([0,max(x)]);
saveas( gcf, 'boat_image&histogram_', 'jpg' );

enter image description here

切换后

%boat_image&histogram
 subplot(1,2,1)
    imshow(I02);
    subplot(1,2,2)
    [x,cts] = imhist(I02);
    stem(x,cts);
    ylim([0,max(x)]);
    saveas( gcf, 'boat_image&histogram_', 'jpg' );

正确切换后:)

%boat_image&histogram
subplot(1,2,1)
imshow(I02);
subplot(1,2,2)
[cts,x] = imhist(I02);
stem(x,cts);
ylim([0,max(cts)]);
saveas( gcf, 'boat_image&histogram__', 'jpg' );

enter image description here

已添加; enter image description here

第一直方图和最后一个直方图存在很大的视觉差距。

1 个答案:

答案 0 :(得分:1)

你可以使用

ylim([0,max_val])

其中max_val是您想要显示的最大y值。

您甚至可以直接使用

执行此操作
h = hist(your_data);
ylim([0,max(h)]);

或者,当使用imhist时,您可以使用stem命令:

[cts,x] = imhist(img);
stem(x,cts);
ylim([0,max(cts)]);