How to change Y-axis coordinates of meshgrid

24 ビュー (過去 30 日間)
Med Future
Med Future 2022 年 3 月 20 日
回答済み: Image Analyst 2022 年 3 月 22 日
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;

採用された回答

Image Analyst
Image Analyst 2022 年 3 月 22 日
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');

その他の回答 (2 件)

KSSV
KSSV 2022 年 3 月 20 日
>> hax = gca;
hax.YTickLabel = flipud(hax.YTickLabel);
  3 件のコメント
KSSV
KSSV 2022 年 3 月 20 日
[~,Y] = meshgrid(imSz:-1:1); % make a grid
Med Future
Med Future 2022 年 3 月 20 日
@KSSV Still not working. same result as above

サインインしてコメントする。


yanqi liu
yanqi liu 2022 年 3 月 21 日
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 件のコメント
Med Future
Med Future 2022 年 3 月 21 日
@yanqi liu What changes you have made?
yanqi liu
yanqi liu 2022 年 3 月 22 日
yes,sir,use axis xy to make the coordinate as norma xy axis, not use image axis

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by