/ / Definición de la altura y longitud de una imagen - matlab, matlab-figure

Definición de la altura y la longitud de una imagen - matlab, matlab-figure

Estimada comunidad de stackoverflow,

Creo que tengo un problema relativamente fácil, pero no tengo idea de cómo resolverlo.

Entonces tengo esta figura que es un mapa de una ciudad quevivir en. Dado que Matlab no puede saber que es un mapa, la altura y la longitud se miden en píxeles (supongo). Sin embargo, me encantaría encontrar o definir valores realistas de esa manera que se mida en metros / kilómetros, ya que estoy codificando un simulador de coche compartido y no es tan elegante que pierdan una cierta cantidad de carga por píxel. Por lo tanto, me encantaría definir de antemano que estamos tratando con medidores en lugar de píxeles sin cambiar el tamaño real de la figura. Así que imaginemos que la imagen tiene una resolución de 1024x768 y quiero que Matlab interprete esta "solución" como 5 km de ancho y 3 km de altura.

En este momento, simplemente uso imread:

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

Respuestas

1 para la respuesta № 1

¿No puedes simplemente crear funciones para convertir de tu espacio de píxeles a tu espacio de km?

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

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

En realidad, estos cálculos son tan simples que probablemente ni siquiera necesite las funciones. Además, dado que el espacio de píxeles es discreto, debe decidir el mejor método para redondear (probablemente floor o ceil dependiendo de qué esquina estás haciendo el "origen"