How to change Y-axis coordinates of meshgrid

17 views (last 30 days)
Hello Everyone, i hope you are doing well. I am creating binary Image in which background is black and forground is white
when i create grid of 1000x1000. The X-axis start from 0 to 1000 but Y axis is upper side 0 to 1000 as you can see in the following image , but i want Y axis to be start from Lower 0 to 1000
How can i do that in MATLAB
imSz = 1000; % assuming images are 1000x1000
imbg = false(imSz); % background "color"
imfg = ~imbg(1,1);
[~,Y] = meshgrid(1:imSz); % make a grid
% black and white image
BW = imbg;
imshow(BW)
axis on;

Answers (3)

KSSV
KSSV on 20 Mar 2022
>> hax = gca;
hax.YTickLabel = flipud(hax.YTickLabel);
  3 Comments
Med Future
Med Future on 20 Mar 2022
@KSSV Still not working. same result as above

Sign in to comment.


yanqi liu
yanqi liu on 21 Mar 2022
imSz = 1000; % assuming images are 1000x1000
imbg = false(imSz); % background "color"
imfg = ~imbg(1,1);
[~,Y] = meshgrid(1:imSz); % make a grid
% black and white image
BW = imbg;
imshow(BW)
axis on;
axis xy
  2 Comments
yanqi liu
yanqi liu on 22 Mar 2022
yes,sir,use axis xy to make the coordinate as norma xy axis, not use image axis

Sign in to comment.


Image Analyst
Image Analyst on 22 Mar 2022
That's the convention for matrixes and images - the y=1 value is at the top. If you want to reverse it use "axis xy" like
grayImage = imread('cameraman.tif');
[rows, columns, numberOfColorChannels] = size(grayImage);
subplot(2, 1, 1);
imshow(grayImage);
axis('on', 'xy');
subplot(2, 1, 2);
imshow(flipud(grayImage));
axis('on', 'xy');

Community Treasure Hunt

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

Start Hunting!

Translated by