Dear Matlab community, I am given the number of pixels as 768 by 768 for a TIFF image and I am required to convert it to x and y geographical coordinates

2 ビュー (過去 30 日間)
  2 件のコメント
Voss
Voss 2022 年 12 月 26 日
Please upload (using the button with the paperclip icon on it) your image and the code you have tried so far.
Rukundo Wellen
Rukundo Wellen 2022 年 12 月 27 日
I = imread('xp.tiff');
info = imfinfo('xp.tiff');
height = info.Height; % image height in pixels
width = info.Width; % image width in pixels
[H,W] = meshgrid(1:height,1:width);
R = georefcells([-90 90],[0 360],2,2,'ColumnsStartFrom','north')
[x,y] = pix2map(info.R, H, W); % the pixel coordiantes are transfeered to the intirinsic coordiantes
[lat,lon] = projinv(info,x,y); %to transfer intirinsic to geographical coordiantes.

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

回答 (1 件)

Nadia Shaik
Nadia Shaik 2023 年 3 月 10 日
Hi Rukundo,
I understand that you wish to convert the pixel coordinates to geographic coordinates. Below are a few changes you can consider:
  • when you use "meshgrid", the first input should be the width (i.e., the number of columns) and the second input should be the height (i.e., the number of rows):
[W, H] = meshgrid(1:width, 1:height);
  • You can use the "geotiffread" function instead of "imread" to read in the "TIFF" file. This will give you both the image data (I) and the R structure, which contains the georeferencing information.
[I, R] = geotiffread('xp.tiff');
Hope this helps!

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by