how to project image into (x,y) coordinates graph

29 views (last 30 days)
I have an image and wish to project the pixel details into graphical form in which x,y coordinates are pixel position and pixel number and vice versa. Can anyone help me
SHOBA MOHAN on 3 Jan 2018
Kindly apologize for typo errors. I wish to plot x_width and y_height of image. In x_width plot, x and y axis are pixel position and pixel number whereas in y_height plot, the x and y axis are vice versa. Suggest me to do this

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 2 Jan 2018
YourImage = imread('shadow_remove.
jpg') ;
GreyImage = rgb2gray(YourImage) ; %jpeg are rarely rarely greyscale files even if they look to be
Walter Roberson
Walter Roberson on 3 Jan 2018
The horizontal and vertical projection are max(GreyImage,[],1) and max(GreyImage,[],2) which you could then plot() or bar() to display.

Sign in to comment.

Guillaume on 3 Jan 2018
If I understood correctly you have a binary image and you want the pixel count (which you call the pixel number) along each column and along each row:
%binaryimage: a binary image
xwidth = 1:size(binaryimage, 2);
xcount = sum(binaryimage, 1);
yheight = 1:size(binaryimage, 1);
ycount = sum(binaryimage, 2);
You can plot that any number of ways, e.g.:
subplot(1, 2, 1);
bar(xwidth, xcount);
xlabel('pixel position along x');
ylabel('pixel count');
title('horizontal histogram');
subplot(1, 2, 2);
barh(yheight, ycount);
xlabel('pixel count');
ylabel('pixel position along y');
title('vertical histogram');


No tags entered yet.

Community Treasure Hunt

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

Start Hunting!