How i can plot gray-scale image values?

12 Ansichten (letzte 30 Tage)
Haseeb Hassan
Haseeb Hassan am 2 Mai 2018
Kommentiert: Ameer Hamza am 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)

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 2 Mai 2018
You can plot it using histcounts().
counts = histcounts(grayImage, 0:256)
plot(counts)
  4 Kommentare
Haseeb Hassan
Haseeb Hassan am 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 am 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?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by