#matlab #image-processing #digitization
Вопрос:
Я внедряю автоматический дигитайзер с использованием Matlab для извлечения пар значений (x, y) линейного графика. Я определил положение осей и оси y на изображении, указав начало и конец каждой оси на изображении. Я также нашел координаты точек на изображении графика. Теперь, как я могу сопоставить эти значения с реальными значениями, чтобы я мог снова построить график с теми значениями, которые я только что сопоставил?
Я определил начало и конец оси x,y (красные точки на рисунке ниже) и знаю предельные диапазоны каждой оси. Я определил координаты на изображении точек графика (например, с зеленой точкой на изображении я определил координаты ее (281,70)). Теперь я хочу преобразовать координаты на изображении в фактические координаты, чтобы снова построить график. Какая формула может помочь мне в этом?
Ответ №1:
x
Координата довольно прямая, вычтите координату точки на координату начала координат
x = x_on_image - x_origin;
Например, x
координата зеленой точки на показанном вами графике равна
x = 281 - 48;
Направление оси y изображения инвертировано и отображается в логарифмическом масштабе. Верните его к показателю 10, чтобы восстановить исходное значение, т. е.
y = 10^(y_origin - y_on_image);
Для зеленой точки
y = 10^(368 - 70);