Я новичок в Matlab и имитирую физические явления, требующие физических координат моего изображения. Например, я могу использовать следующее, чтобы указать размеры моего изображения.Использование meshgrid для интерполяции физических координат изображения
a = phantom(80,250)
a(81:250,:) = [];
Для моей физической системы, мне нужно расстояние, чтобы быть 2 между каждым пикселем и объект, чтобы перейти от 0: 2: 280 в х и 0: 2: 410 у. Я пытаюсь использовать meshgrid, чтобы увидеть, если это поможет делу, начиная с
[x,y] = meshgrid(1:1:100, 1:1:300);
[xm,ym] = meshgrid(1:.5:300, 1:.5:450);
M = interp2(x,y,a,xm,ym,'nearest');
Это не дает мне то, что я хочу, но как я думаю, что потенциально может достичь решения.
Основная проблема заключается в том, что у меня есть изображение размером (80,250), и мне нужно пробовать/масштабировать его, чтобы я мог сопоставить точку в правом верхнем углу (280 мм, 410 мм) с образцом 2 мм между каждый пиксель. Это правильный подход или я должен использовать другую функцию?
то, что я надеюсь сделать, в основном использует значения изображения в этой конкретной координате. Например, изображение может иметь значение 1 at (280, 410), но изображение в Matlab имеет его так, что (80,250) имеет значение 1. Однако координата (79,250) = 0 на изображении и что это соответствуют «реальным» измерениям. В основном преобразование координат рода. – curiousgeorge
@curiousgeorge yea, поэтому в приведенных выше решениях вы можете изменить xq и yq в любую точку, которую хотите запросить, и это должно работать нормально. – Suever