Распознавание искажений в регулярной сетке

Чтобы дать вам некоторую предысторию того, что я делаю: я пытаюсь количественно записать изменения потока сжимаемой жидкости с помощью анализа изображений. Один из способов сделать это - использовать тот факт, что показатель преломления жидкости напрямую связан с ее плотностью. Если настроить какой-то образ за потоком, Искажение изображения из-за изменений показателя преломления во всем поле жидкости приводит к градиенту плотности, который помогает охарактеризовать структуру потока.

У меня есть набор процедур, которые успешно справляются с этим с помощью регулярного 2D-шаблона из точек. Точечный узор слегка искажен, и, сравнивая положение точек на искаженном изображении с положением точек на неискаженном изображении, я получаю поле смещения, которое мне и нужно. Проблема с этим методом - разрешение. Разрешение ограничено количеством точек в поле, и я изучаю методы, которые дают мне больше данных.

У меня была одна идея - использовать регулярную сетку из горизонтальных и вертикальных линий. Это изображение будет искажаться таким же образом, но вместо того, чтобы получить только смещение точки, у меня будет непрерывное искажение сетки. Кажется, что должен существовать какой-то стандартный алгоритм или процедура для сравнения одной геометрической сетки с другой и получения какого-то поля смещения. Тем не менее, я не нашел ничего подобного в своем исследовании.

Есть ли у кого-нибудь идеи, которые могли бы указать мне в правильном направлении? К вашему сведению, я не компьютерный ученый - я инженер. Я говорю это только потому, что может быть очевидный подход, которым я пренебрегаю из-за того, что пришел из другой области. Но я могу программировать. Я использую MATLAB, но могу читать Python, C / C ++ и т. Д.

Вот примеры типов изображений, с которыми я работаю:

     Regular:                               Distorted: 

enter image description here -------- enter image description here

18
задан Dr. belisarius 7 February 2011 в 18:47
поделиться