How i can plot gray-scale image values?

9 vues (au cours des 30 derniers jours)
Haseeb Hassan
Haseeb Hassan le 2 Mai 2018
Commenté : Ameer Hamza le 4 Mai 2018
I want to 2-D plot the grayscale image values.The below code plot the 3-D values of a grayscale image.What i can use
instead of meshgrid function to plot 2-D values of a gray scale image.Please see the pictures for more details.
Ix = imread('C:\Users\Haseeb\Desktop\images\capture.jpg');
I= rgb2gray(Ix);
x = 1:size(I,1);
y = 1:size(I,2);
[X,Y] = meshgrid(x,y);
figure,plot3(X,Y,I)

Réponse acceptée

Ameer Hamza
Ameer Hamza le 2 Mai 2018
You can plot it using histcounts().
counts = histcounts(grayImage, 0:256)
plot(counts)
  4 commentaires
Haseeb Hassan
Haseeb Hassan le 4 Mai 2018
As i applied your plotting code within my code, further smoothed the
converted plot by Gaussian Filter , now i want to reconstruct the
image from the plot can you help to reconstruct from plot.
Ix = imread('capture.jpg');
I= rgb2gray(Ix);
counts = histcounts(I, 0:255);
figure, plot(counts);
%Filter the image with a Gaussian filter with standard deviation of 2
Iblur = imgaussfilt(counts, 0.7);
%Display all results for comparison.
figure,plot(Iblur)
title('Gaussian filtered image, \sigma = 2');
Ameer Hamza
Ameer Hamza le 4 Mai 2018
You cannot recover an image back from this plot because the information about the location of each pixel is lost. Can you think of a way by which I can know which pixel belongs to which location by just looking at this plot?

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