3D Histogram of a true color (RGB) image

3 vues (au cours des 30 derniers jours)
Abdul Gaffar
Abdul Gaffar le 25 Jan 2021
Commenté : DGM le 9 Avr 2025
I have to plot 3D histogram of a true color image, as shown in the attached screenshot.

Réponses (1)

Vedant Shah
Vedant Shah le 12 Mar 2025
To plot a 3D histogram of a true colour image, try the following steps:
1. Convert it to a grayscale image, focusing on intensity values.
2. Then proceed by using the "meshgrid" function to determine the X and Y coordinates.
3. Finally, plot the 3D surface using the "surf" function.
For more information about the meshgrid and surf functions, you can refer to their official MATLAB documentation using the following commands:
web(fullfile(docroot, "/matlab/ref/meshgrid.html"))
web(fullfile(docroot, "/matlab/ref/surf.html"))
Below is a reference MATLAB code snippet:
img = imread('image.jpg');
grayImg = rgb2gray(img);
grayImg = double(grayImg);
[X, Y] = meshgrid(1:size(grayImg, 2), 1:size(grayImg, 1));
figure;
surf(X, Y, grayImg, 'EdgeColor', 'none');
colormap jet;
colorbar;
This script generates a 3D surface plot where the height represents pixel intensity. Darker regions correspond to low intensity, while brighter regions indicate higher intensity values.
  1 commentaire
DGM
DGM le 9 Avr 2025
That's not a histogram. That's just an intensity map.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by