/ / Definizione dell'altezza e della lunghezza di un'immagine - matlab, matlab-figure

Definizione dell'altezza e della lunghezza di un'immagine: matlab, matlab-figure

Gentile community di stackoverflow,

Immagino di avere un problema relativamente facile, ma comunque non ho idea di come risolverlo.

Quindi ho questa figura che è una mappa di una cittàdal momento che Matlab non può sapere che si tratta di una mappa, l'altezza e la lunghezza sono misurate in pixel (suppongo). Tuttavia, mi piacerebbe trovare o definire valori realistici in modo che sia misurata in metri / chilometri, dato che sto codificando un simulatore di car sharing e non è così elegante che perdano una certa quantità di carica per pixel. Pertanto, mi piacerebbe definire in anticipo che abbiamo a che fare con i misuratori anziché con i pixel senza modificare le dimensioni effettive della figura. Quindi immaginiamo che l'immagine abbia una risoluzione di 1024x768 e voglio che Matlab interpreti questa "soluzione" come 5 km di larghezza e 3 km di altezza.

In questo momento, uso semplicemente imread:

hf = figure();
[B, map] = imread("Hannoverosm.png");
C = imresize(B, 0.975);
imshow(C, map)

risposte:

1 per risposta № 1

Non puoi semplicemente creare funzioni per passare dal tuo spazio pixel al tuo spazio km?

function km = pixels2km(pixels)
km = pixels*(5/1024);
end

function pixels = km2pixels(km)
pixels = km*(1024/5);
end

In realtà questi calcoli sono così semplici che probabilmente non hai nemmeno bisogno delle funzioni. Inoltre, poiché lo spazio dei pixel è discreto, devi decidere il metodo migliore per l'arrotondamento (probabilmente floor o ceil a seconda di quale angolo stai facendo l '"origine"