How to limit the colorbar range in using image function ??

36 vues (au cours des 30 derniers jours)
제 허
제 허 le 30 Juin 2021
Commenté : 제 허 le 1 Juil 2021
hello
I want to limit the colorbar range in using image function.
caxis([0 10]) comment can limit the range other function (i.e mesh), but can not work at image function.
how I limit the colorbar range??
thank you.

Réponse acceptée

Walter Roberson
Walter Roberson le 30 Juin 2021
caxis works fine with image()
figure
img = imread('cameraman.tif');
image(img)
colormap(hsv)
caxis([0 10])
colorbar
But remember that colorbar() does not reflect RGB objects
figure
img = imread('flamingos.jpg');
image(img)
colormap(hsv)
caxis([0 10])
colorbar
  3 commentaires
Walter Roberson
Walter Roberson le 30 Juin 2021
I see what you mean; caxis() is not changing the colorbar() limit
Fortunately you can pass in the limits in the colorbar() call.
[R, TH] = ndgrid(complex(1:11, -5:5), linspace(0,2*pi));
[X, Y] = pol2cart(TH, R);
Z = X.^2 - 3.*X.*Y + Y;
figure
surf(real(X), real(Y), real(Z), 'edgecolor', 'none')
figure
surf(imag(X), imag(Y), imag(Z), 'edgecolor', 'none')
figure
RZ = real(Z);
image(RZ)
cb = colorbar('limits', [-50 50]);
cb
cb =
ColorBar with properties: Location: 'eastoutside' Limits: [-50 50] FontSize: 9 Position: [0.8311 0.1109 0.0381 0.8152] Units: 'normalized' Show all properties
제 허
제 허 le 1 Juil 2021
Thank you for your answer

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by