Plotting Pixels of an Image and Finding Minimum Value

3 views (last 30 days)
Hi,
I am trying to plot the individual pixels of an image on a surface plot, I have converted the image from RGB to grayscale - below is the code I have so far, but I can't get it working yet. I get an error saying 'Data dimensions must agree'.
RGB=imread('Corn.png');
gray=rgb2gray(RGB);
gray_double=double(gray);
Min_pixel=min(min(gray_double));
increment=1;
xpoints=0:increment:492;
ypoints=0:increment:508;
[x,y]=meshgrid(xpoints,ypoints);
figure
surf(x,y,gray_double)
Any help would be very much appreciated.

Accepted Answer

Nagasai Bharat
Nagasai Bharat on 21 Oct 2020
Hi,
From my understanding you have already done the minimum pixel value part and you are facing problem in plotting the the gray image using surf. Changing your code with the below snippet should solve the error.
%increment=1;
xpoints=1:size(gray_double,2);
ypoints=1:size(gray_double,1);
[x,y]=meshgrid(xpoints,ypoints);
figure
surf(x,y,gray_double)

More Answers (0)

Community Treasure Hunt

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

Start Hunting!