Способ устранения швов при создании панорамных изображений из видеопотока кадров в режиме реального времени
METHOD OF ELIMINATING SEAMS WHEN CREATING PANORAMIC IMAGES FROM VIDEO STREAM OF FRAMES IN REAL-TIME

Изобретение относится к обработке цифровых изображений, а более конкретно к способам устранения швов в процессе создания панорамных изображений из видеопотока кадров, полученных устройствами для цифровой видеосъемки (камерами, фотоаппаратами, в том числе используемыми совместно с оптическими микроскопами, эндоскопами и т.д.), в режиме реального времени.
Получение бесшовных панорамных изображений является важной задачей во многих отраслях науки и техники: биологии, медицине (гистологии, цитологии, эндоскопии), материаловедении (металлографии, петрографии, минералогии) и т. д., так как дает возможность исследователю составить более полное представление об изучаемом объекте и уменьшить методическую составляющую погрешности при дальнейшем анализе изображений, что в конечном итоге позволяет получать более точные результаты исследования (диагностики).
Из уровня техники известен способ обработки видеосигнала с цифровой камеры устройства, позволяющий получать панорамные изображения (US 20120257006) [1]. Способ реализован в устройстве, которое помимо прочих элементов включает в себя блок обработки видеосигнала и центральный процессор (ЦП). С помощью блока обработки видеосигнала выполняют интерполяцию пикселей, коррекцию координат, генерацию яркости цветового сигнала, настраивают баланс белого, корректируют экспозицию, сжимают видеопоток и преобразуют его формат. В одном из вариантов реализации c помощью блока обработки видеосигнала выравнивают стороны смежных кадров. С помощью ЦП контролируют работу всех блоков схемы и осуществляют объединение изображений. Недостатком данного способа является то, что он подходит только для устройств получения кадров, оснащенных сенсорами направления движения и ускорения. Кроме того, объединение кадров возможно только при движении устройства в горизонтальном направлении. Другим недостатком данного способа является то, что при объединении кадров возникают стыковочные швы, которые снижают качество получаемого панорамного изображения. Описываемый способ также не содержит инструментов для фокусировки отдельных участков изображений объединяемых кадров.
В патенте US 20090153647 A1 [2] панорамные изображения из видеопотока строят с помощью устройства, которое включает в себя микропроцессор, блок вычислений, блок бинаризации, блок оценки движения, RAM– и EEPROM-памяти. Способ получения панорамного изображения включает в себя следующие основные этапы: получение изображения; бинаризацию изображения; сравнение бинарного изображения текущего кадра с бинарным изображением предыдущего кадра и расчет среднего вектора смещения текущего кадра относительно предыдущего; «пришивку» текущего изображения к панораме, т.е. к результирующему изображению; обрезку изображения для получения прямоугольной панорамы. В данном способе расчет вектора смещения осуществляется по бинарным изображениям, что в большинстве случаев сопряжено с большой вероятностью ошибки. Анализ бинарных изображений подходит для изображений с достаточным количеством контрастных элементов. Кроме того, операции сравнения изображений проводятся на центральном процессоре, который выполняет их в 3-4 раза медленнее, чем, например, процессор видеокарты. Отсутствие в тексте патента описания метода нивелирования швов, возникающих в местах «пришивки» изображений, дает основание предполагать, что получаемые данным способом панорамные изображения содержат артефакты в виде стыковочных швов, что также является серьезным недостатком. Кроме этого, описываемый способ не содержит инструментов для фокусировки отдельных участков изображений «сшиваемых» кадров.
Наиболее близким к заявленному изобретению является способ формирования составного (панорамного) изображения, в котором предложен оригинальный алгоритм определения последовательности объединения кадров в панорамное изображение (RU 2421814) [3]. Согласно этому способу, анализируют входные изображения, поступающие в произвольном порядке и в произвольной ориентации, выявляя на каждом изображении множество особых точек, и определяют дескрипторы этих точек, выполняют попарное сравнение всех входных изображений путем расчета суммы квадратов разностей дескрипторов особых точек и нахождение совместимых особых точек, при этом формируют квадратно-симметричную таблицу, состоящую из количества совместимых особых точек для каждой пары изображений, выбирают первое изображение путем суммирования элементов строк таблицы и выбора изображения с тем порядковым номером, которому соответствует строка с максимальной суммой элементов, результирующее множество особых точек и дескрипторов формируют из множества особых точек и дескрипторов первого выбранного изображения, далее один за другим выбирают изображения, имеющие максимальное количество совместимых особых точек с результирующим множеством особых точек, восстанавливают параметры аффинного вращения/смещения между множеством совместимых особых точек выбранного изображения и результирующим множеством особых точек, найденные параметры аффинного вращения/смещения сохраняют в памяти, после чего результирующее множество особых точек дополняют совместимыми особыми точками и их дескрипторами данного выбранного изображения, предварительно подвергнутого найденному аффинному преобразованию, один за другим выбирают входные изображения и поочередно деформируют, используя сохраненные параметры аффинного вращения/смещения, затем преобразованное изображение включают в результирующее изображение путем нахождения оптимального шва, проходящего через расположенные на перекрывающихся участках пиксели, имеющие минимальные различия, при этом шов между объединенными изображениями наименее заметен.
Данный способ не позволяет строить панорамные изображения в режиме реального времени, поскольку алгоритм формирования составного (панорамного) изображения предполагает первичное получение всего множества входных кадров и их объединение в панорамное изображение на последующем этапе. Способ позволяет снизить заметность границы стыковки путем проведения ее по линии минимальной стоимости - траектории, проходящей через множество пиксельных разностей, которые в сумме дают минимальную стоимость, однако это не позволяет полностью избавиться от шва. Кроме того,  алгоритм, предложенный в этом способе, не содержит инструментов, позволяющих получать изображения, имеющие резкий фокус во всех его участках.
Задачей настоящего изобретения является создание бесшовного способа формирования бесшовных панорамных изображений из видеопотока кадров, полученных устройствами для цифровой видеосъемки (камерами, фотоаппаратами), в том числе используемыми совместно с оптическими микроскопами, эндоскопами и т.д.), в режиме реального времени.
Для решения поставленной задачи предложен  способ,  в котором, как и в способе – прототипе,  при создании панорамных изображений на изображениях кадров, полученных с помощью фото и видео камеры, в том числе используемых совместно с оптическими микроскопами и эндоскопами, выявляют множества характерных элементов, изображение текущего кадра сравнивают с результирующим изображением, далее определяют координаты вектора смещения текущего кадра, и изображение текущего кадра сдвигают на рассчитанные координаты вектора смещения, далее рассчитывают границу области перекрытия, смещенное изображение текущего кадра добавляют к результирующему, при этом  устраняют шов  между соседними кадрами. Новый способ  отличается тем, что определяют угол поворота камеры, производят выравнивание освещенности изображений кадров, устраняют размытые участки изображения в пределах кадра, затем вокруг выявленных характерных элементов строят характерные прямоугольные области,  далее на процессоре видеокарты производят операцию сравнения характерных прямоугольных областей изображений,  при этом изображение текущего кадра сравнивают только с соседними опорными кадрами, входящими в результирующее изображение, и только в областях интереса изображений текущего и опорных кадров, рассчитывают величину средней интенсивности пикселей изображения текущего кадра, при этом определяют координаты вектора смещения текущего кадра относительно соседних опорных кадров, за координаты векторов смещения между текущим и опорными кадрами принимают средние координаты смещения между всеми совместимыми характерными прямоугольными областями на изображениях текущего и опорных кадров с их последующим уточнением путем наложения ограничений на величину разницы между координатами векторов смещения совместимых характерных прямоугольных областей и их средних значений и на величину среднеквадратичного отклонения координат векторов смещения совместимых характерных прямоугольных областей изображение текущего кадра сдвигают относительно изображений соседних опорных кадров и добавляют к результирующему изображению,  шов устраняют путем  наложения  градиента прозрачности на область перекрытия текущего и опорного кадров.
Сущность заявленного способа заключается в следующем. В отличие от способа – прототипа, в заявленном способе вначале определяют угол поворота камеры, производят выравнивание освещенности изображений кадров, устраняют размытые участки изображения в пределах кадра, производят корректировку вектора смещения текущего кадра относительно опорного на угол поворота камеры, производят предварительное выравнивание освещенности и программную фокусировку всех участков текущего изображения, а далее формируют панорамные изображения. В качестве объектов сравнения на изображениях выступают не дескрипторы особых точек, а характерные прямоугольные области, которые строят вокруг выявленных характерных элементов.  Попиксельное сравнение характерных прямоугольных областей на процессоре видеокарты происходит в 3-4 раза быстрее, чем сравнение дескрипторов особых точек на ЦП. При этом изображение текущего кадра сравнивают только с соседними опорными изображениями и только в областях интереса этих кадров. Это позволяет существенно сократить количество операций сравнения изображений и, как следствие, ускорить работу алгоритма.
Выбор сравниваемых характерных прямоугольных областей определяется величиной средней интенсивности пикселей изображения текущего кадра. Это позволяет для изображений с большим числом характерных элементов проводить сравнения не всех соответствующих им характерных прямоугольных областей, а ограничиться для этого всего лишь одной областью – областью интереса текущего кадра. При этом количество операций сравнения характерных прямоугольных областей, а значит и время расчета, уменьшается в несколько десятков раз. Далее определяют координаты вектора смещения текущего кадра относительно соседних опорных кадров. За координаты векторов смещения между текущим и опорными кадрами принимают средние координаты смещения между всеми совместными характерными прямоугольными областями на изображениях текущего и опорных кадров с их последующим уточнением путем наложения ограничений на величину среднеквадратичного отклонения координат векторов смещения совместимых характерных прямоугольных областей и на величину разницы между координатами векторов смещения совместимых характерных прямоугольных областей и их средних значений. Изображение текущего кадра сдвигают относительно изображений соседних опорных кадров. После этого рассчитывают границу области перекрытия, и смещенное изображение текущего кадра добавляют к результирующему, и для  устранения шва по границе области перекрытия  производят наложение градиента прозрачности на область перекрытия текущего и опорного кадров. Операция сравнения характерных прямоугольных областей изображений осуществляется на процессоре видеокарты, что обеспечивает более высокую скорость расчетов, т.к. процессор видеокарты позволяет проводить операции попиксельного сравнения изображений в 3-4 раза быстрее, чем центральный процессор.
Технический результат от использования настоящего изобретения состоит в устранении артефактов в виде стыковочных швов на границах сшитых кадров и неоднородности освещения, что позволяет в целом получать более качественные панорамные изображения, ускорить работу алгоритма формирования панорамных изображений и реализовать его в режиме реального времени при сокращении количества операций сравнения изображений и  ускорении расчетов координат векторов смещения текущих кадров относительно опорных.
Заявленный способ поясняется рисунками. На фиг. 1 представлена схема основных элементов устройства, реализующих заявленный способ; на фиг. 2 представлена общая схема процесса получения бесшовного панорамного изображения, основные этапы; на фиг. 3, 4, 5  представлено смещение накладывающихся друг на друга последовательных кадров при движении вдоль осей X и Y камеры, повернутой на малый угол δα; на фиг. 6 представлена область К, включающая границу изображения текущего кадра; на фиг. 7 (часть1) и 8 (часть2) изображена детальная блок-схема процессов 6-9 (фиг. 2) получения бесшовного панорамного изображения; на фиг.9 представлена блок-схема алгоритма сравнения изображений текущего и опорного кадров; на фиг. 10 изображены: область интереса текущего кадра (С) и область интереса опорного кадра (Z); на фиг. 11 изображены  вектора смещения между совместимыми характерными элементами на изображениях текущего и опорного кадров (границы характерных прямоугольных областей не указаны); на фиг. 12 показан вектор смещения Р текущего кадра относительно опорного; рассчитанная граница области перекрытия, по которой будет производиться объединение двух изображений (жирная линия); результирующее изображение после объединения двух кадров; на фиг. 13 представлена область перекрытия изображений опорного и текущего кадров; на фиг. 14 представлены области интереса текущего и опорного кадров при использовании механического столика (области интереса заштрихованы).
Процесс функционирования устройства, реализующего заявленный способ и представленный на фиг.1, управляется центральным процессором 2 (ЦП). Изображения кадров через устройство ввода изображения 1 (камеры, фотоаппараты, в том числе используемые совместно с оптическими микроскопами, эндоскопами и т.д.) и шину данных, попадают в процессор видеокарты 3, где и подвергаются анализу. В частности, процессор видеокарты 3 осуществляет преобразование изображений из формата RAW в формат RGB и поиск характерных элементов на изображениях. Характерными элементами на изображении могут являться особые точки, линии и характерные области. Несшитые кадры панорамного изображения сохраняются в буфере несшитых кадров 5, роль которого может выполнять оперативная память. Объединенное панорамное изображение сохраняется в устройстве хранения панорамного изображения 4 (реализуемое в виде носителя на жестких магнитных дисках или иного накопителя данных).
Перед началом работы вводится корректировка на угол поворота камеры. Связано это с тем, что в ряде случаев стороны камеры могут быть закреплены не строго параллельно осям координат предметного столика, а находиться под некоторым малым углом δα (фиг. 3). В этом случае при смещении столика вдоль одной координатной оси, например, оси Х, каждый последующий кадр, захватываемый камерой, будет смещен относительно предыдущего вверх (фиг. 4). Пусть столик сместился на величину Δх вдоль оси Х. Несложно показать, что в этом случае реальные координаты вектора смещения кадра 2 относительно кадра 1 будут равны:
Аналогично при смещении вдоль оси Y на величину Δy каждый последующий кадр, захватываемый камерой, будет смещен относительно предыдущего влево (Фиг. 5). Реальные координаты вектора смещения кадра 4 относительно кадра 3 будут равны:
Для выравнивания освещенности на первом шаге производят съемку белого фона. Далее на полученном изображении для всех трех цветовых каналов (R, G, B) ищутся пиксели с минимальной интенсивностью (,,). После этого для каждого пикселя изображения с координатами (x, y) рассчитываются три цветовых коэффициента выравнивания освещенности:
где  – интенсивности пикселя фонового изображения с координатами (x, y) по каналам Red (R), Green (G) и Blue (B) соответственно.
x
x
x
x
При работе с оптическим микроскопом, снабженным камерой и автоматизированным столиком, вначале по заданной пользователем области сканирования производится расчет количества снимаемых кадров в этой области (Шаг 1, фиг. 7). Сканирование кадров производится слева направо и сверху вниз, при этом каждый последующий кадр имеет область перекрытия с предыдущим кадром. Зная размер области перекрытия кадров вдоль одной оси, например, оси Х, которую обозначим через d, размер стороны кадра k и размер области сканирования L вдоль этой же оси, несложно найти количество перекрывающихся кадров N, которые предстоит снять, сканируя вдоль оси X:
y
x
y
Аналогично производится расчет количества перекрывающихся кадров N, которые предстоит снять, сканируя вдоль оси Y. Тогда общее количество кадров, которое будет получено в результате сканирования, определится как произведение чисел N и N(Шаг 1, фиг. 7).
При получении текущего кадра, прежде всего, производится выравнивание освещенности изображения. Процедура выравнивания освещенности изображения заключается в том, что значение интенсивности каждого цветового канала пикселя с координатами x и y  умножается на соответствующий коэффициент выравнивания освещенности (3):
где  - интенсивности цветовых каналов пикселя изображения после выравнивания освещенности.
Далее при помощи оператора Собеля [4] осуществляется поиск на текущем изображении характерных элементов (точек, областей, линий, углов и пр.). В данном способе текущим кадром называется последний полученный системой кадр через устройство ввода изображения (фиг.1). Оператор Собеля позволяет для каждого пикселя с координатами (x, y) найти величину градиента G(x,y).
0
0
Далее для получения сфокусированного изображения во всех его точках, применяют процедуру расширения фокуса. Суть процедуры состоит в следующем. Вокруг каждого пикселя изображения строится квадратная область K размером 33х33 пикселя, так что рассматриваемый пиксель находится в центре этой области. Если границы области К выходят за границы изображения, то значению интенсивности пикселя P’, лежащего за границей изображения, присваивают значение интенсивности пикселя P, равноудаленного от границы изображения такого, что прямая, проходящая через пиксели P и P’, перпендикулярна к границе изображения (фиг. 6). Будем характеризовать положение каждого пикселя на изображении тремя координатами: x, y, z – где x и y координаты, определяющие положение пикселя изображения в плоскости предметного столика, а z – координата, определяющая расстояние между предметным столиком и объективом микроскопа. Пусть расстояние между предметным столиком и объективом микроскопа равно z, а рассматриваемый пиксель имеет в плоскости предметного столика координаты (x, y) и находится в центре области К. Для придания большего значения рассматриваемой центральной точке и ее ближайшей окрестности по сравнению с периферийными точками области К, на множество значений градиентов пикселей области К накладывается двумерная функция распределения Гаусса f(x,y):
x
y
где F(x,y) –функция градиента после наложения двумерной функции распределения Гаусса, σ, σ  - стандартные отклонения маргинальных распределений x и y задаются пользователем, ρ - коэффициент корреляции x и y задается пользователем.
На следующем этапе по всем пикселям области К рассчитывается среднеквадратичное отклонение величины F(x,y):
где  - среднее значение величины F(x,y) в рассматриваемой области К, N=1089 – количество пикселей в области К.
F
F
F
F
F
max
F
max
F
0
0
0
0
0
0
0
0
0
0
После расчета величины S происходит изменение координаты z, т.е. расстояния между объективом и предметным столиком микроскопа и снова рассчитывается величина S. Таким образом, величина S является функцией координаты z: S = S(z). В результате прохождения всего диапазона возможных значений z, будет получено множество значений  Среди элементов множества  выбирается элемент с максимальным значением - S(z). Координата z, которой соответствует значение S(z), считается координатой, при которой изображение пикселя с координатами (x, y) находится в фокусе. Обозначим эту координату через z (z=z). Значение интенсивности пикселя с координатами (x, y) при z=z запоминается и добавляется в результирующее изображение I=I(x, y, z). Описанная выше процедура проводится для каждого пикселя изображения, в результате чего получается всюду сфокусированное результирующее изображение.
После этого по изображению текущего кадра производится расчет величины средней интенсивности пикселей Grad (Шаг 2, фиг. 5).:
i
i
i
где max(R,G,B) – максимальное значение интенсивности из интенсивностей 3-х цветовых каналов (R-red, G- green, B – blue) для i-го пикселя; М – общее количество пикселей на текущем кадре. Следует отметить, что вместо оператора Собеля может быть применен любой другой оператор, выделяющий характерные элементы на изображении.
x
y
x
y
x
x
y
y
Фиг. 9 описывает алгоритм сравнения двух кадров. На шаге 3.1 на изображении текущего кадра выделяется область интереса текущего кадра (С) (фиг. 10), которая с вероятностью 100% попадает в область перекрытия с изображением на опорном кадре. В данном способе опорным кадром называется кадр, который имеет с текущим кадром общую область перекрытия. Область интереса текущего кадра - это область, которая с вероятностью 100% попадает в область перекрытия текущего кадра с опорным. Область интереса опорного кадра - область, которая имеет ненулевую вероятность попасть в область перекрытия опорного кадра с текущим. Размеры области интереса текущего кадра (С) рассчитываются, исходя из того, что размер области перекрытия кадров по всем осям (d и d) при автоматизированном сканировании устанавливается равным 3/4 длины кадра вдоль соответствующих осей (L и L): d=3/4L и d=3/4L. Если, к примеру, сканирование образца производится вдоль оси Х, тогда размер области (С) вдоль оси Х устанавливается равным:  а вдоль оси Y:  где W - величина погрешности в определении координат автоматизированного столика (фиг. 10). В результате на изображении текущего кадра выделяют область (С), которая с вероятностью 100% попадает в область перекрытия с опорным кадром. Область интереса опорного кадра (фиг. 10) – область (Z), - получают путем увеличения зоны перекрытия кадров на величину W слева:  В этой области вероятность попадания в область перекрытия с текущим кадром отлична от нуля.
0
0
min
min
0
0
min
min
0
0
На шаге 3.2 (фиг. 9) производится сравнение величины Grad (8) текущего кадра с заданной пороговой величиной - Grad. Если Grad > Grad, то производится поиск всей области интереса текущего кадра (С) в области интереса опорного кадра (Z) площадным методом (шаг. 3.3, фиг. 9). Для этого область (С) помещается в левый верхний угол области (Z) и рассчитывается разница в интенсивностях каналов RGB соответственных пикселей (пикселей, находящихся на одинаковых местах в сравниваемых областях). После этого для каждой пары пикселей выбирается максимальное из трех значений разности интенсивностей по трем цветовым каналам: ∆I = max(∆R,∆G,∆B) и все значения ∆I суммируются по всем соответственным пикселям: Величина I характеризует степень совпадения двух областей. Далее область (С) смещается на один пиксель вправо по области (Z) и снова рассчитывается величина I. Когда область (С) дойдет до правого края области (Z), она сместится на один пиксель вниз и пойдет в обратную сторону. В результате этого будет проведено сравнение области интереса (С) со всеми такими же по размеру областями (С”), находящимися в области (Z), и для каждой такой пары областей будет рассчитана величина I. Далее среди всех значений I выбирается минимальное значение: I=min(I). Если I<I (I – заданный параметр), то области (С) и (С”), для которых I=Iи I<I считаются совместимыми, т.е. совпавшими (Шаг 3.4, фиг. 9). Если величина Grad < Grad,то переходят ко второму методу.
Суть второго метода состоит в том, что вокруг каждого характерного элемента, найденного на изображении текущего кадра при помощи оператора Собеля, строится прямоугольник, таким образом, что характерный элемент оказывается вписанным в этот прямоугольник, т.е. длины сторон прямоугольника равны проекциям характерного элемента на оси X и Y декартовой системы координат (Шаг. 3.5, фиг. 9). Такой прямоугольник с вписанным в него характерным элементом будем далее называть характерной прямоугольной областью. В данном методе размер характерной прямоугольной области не может превышать 64х64 пикселя. Если размер характерного элемента более 64 пикселей хотя бы по одной координате, то такой элемент разбивается на несколько характерных элементов. Пусть в результате действия оператора Собеля найдено n характерных элементов и построено n характерных прямоугольных областей в области интереса текущего кадра (С). Далее производится сравнение каждой n–ой характерной прямоугольной области в области интереса текущего кадра со всеми возможными областями такого же размера в количестве n”, находящимися в области интереса опорного кадра (Z) аналогично тому, как это делалось в первом методе (Шаг 3.6, фиг.9). В результате этого обнаруживаются q пар совместимых характерных прямоугольных областей (в первом способе обнаруживается 1 пара), для которых находятся разности их координат по осям X и Y:  где h = 1…q (Фиг. 11, для наглядности разность координат указана не между характерными прямоугольными областями, а между вписанными в них характерными элементами). Далее производится проверка правильности найденных совместимых характерных пар прямоугольных областей (Шаг 3.7, фиг. 9). Для этого вначале проверяется верность следующих соотношений:
Дх
Дy
где  и  - средние значения разностей координат между совместимыми характерными прямоугольными элементами по осям X и Y, а ДX и ДY – заданные пользователем параметры. Если для каких-то пар, хотя бы одно из неравенств (9) не выполняется, эти пары исключаются из рассмотрения, а величины  и  пересчитываются. Второе соотношение накладывает ограничение на среднеквадратичные отклонения величин  и  (Sи Sсоответственно) (Шаг 3.7, фиг. 9):
Дх0
Дy0
Здесь Sи S– некоторые заданные пользователем параметры. Если оба неравенства выполняются, то за координаты вектора смещения P (фиг. 11) текущего кадра относительно опорного принимаются средние значения разности координат:  и  (Шаг 3.8., Фиг.9). Если хотя бы одно из неравенств (10) не выполняется, то считается, что общая область перекрытия между текущим и опорным кадром не найдена. Текущий кадр, у которого не были найдены области перекрытия с соседними опорными кадрами, определяется как несшитый кадр и сохраняется в буфер несшитых кадров (Шаг 4, фиг. 7).
Фиг. 12 демонстрирует этап добавления текущего кадра к опорному. После расчета координат вектора Р текущий кадр смещается относительно опорного на вектор Р, и рассчитываются координаты границы области перекрытия между текущим и опорным кадром, идущей по краю опорного кадра (жирная линия на фиг. 12). Далее область текущего кадра, находящаяся справа и сверху от границы области перекрытия присоединяется к опорному кадру и получается результирующее изображение (Шаг 5, Фиг. 7) Если по окончании процесса построения панорамного изображения в буфере несшитых кадров остались несшитые кадры, то они вставляются в результирующее изображение на основании координат, полученных с автоматизированного столика во время их сканирования. (Шаг 6. фиг. 8). Результирующее изображение, полученное после окончания сшивки всех кадров, называется панорамным изображением. Оно сохраняется в памяти компьютера (Шаг 7, фиг 8).
x
y
С целью нивелирования границы стыковки кадров к области их перекрытия применяется процедура градиентного сглаживания. Рассмотрим область перекрытия Q двух стыкованных кадров. Пусть N и N– размеры области перекрытия по осям X и Y соответственно, измеренные в количестве пикселей (фиг. 13). Система производит расчет шагов изменения коэффициента прозрачности вдоль каждой из осей:
x
y
x
y
x
y
По найденным величинам s и s для каждого пикселя из области Q, имеющего координаты (n, n), рассчитывается коэффициент прозрачности α(n, n):
R
x
y
G
x
y
B
x
y
x
y
R
x
y
G
x
y
B
x
y
x
y
x
y
Пусть I(n, n), I(n, n), I(n, n) – интенсивности трех цветовых каналов пикселя с координатами (n, n) первого изображения, а I’(n, n), I’(n, n), I’(n, n) – интенсивности трех цветовых каналов пикселя с координатами (n, n) второго изображения. Тогда результирующие значения интенсивности трех цветовых каналов пикселя с координатами (n, n) после наложения градиента прозрачности рассчитываются по формуле:
x
y
Если процесс сшивки двух кадров происходит не на автоматизированном, а на механическом столике, предполагающем ручное перемещение образца, то в этом случае происходит получение двух последовательных кадров через устройство ввода изображения. Первый из полученных кадров будет считаться опорным, а второй – текущим. В качестве области интереса текущего кадра выбирается центральная область кадра с длинами сторон D и D (по осям X и Y), которые рассчитываются по формулам:
и
х
y
где k и k – длины сторон кадра вдоль осей X и Y, W – величина погрешности в определении координат автоматизированного столика. В качестве области интереса опорного кадра выбирается все изображение опорного кадра (Фиг. 14, области интереса текущего и опорного кадров заштрихованы). В остальном алгоритм сравнения кадров остается прежним (Фиг 9).
Таким образом, заявленный способ позволяет устранять артефакты в виде стыковочных швов на границах сшитых кадров и неоднородности освещения, что позволяет в целом получать более качественные панорамные изображения, ускорить работу алгоритма формирования панорамных изображений и реализовать его в режиме реального времени при сокращении количества операций сравнения изображений и  ускорении расчетов координат векторов смещения текущих кадров относительно опорных.
Источники информации
1. US 20120257006, опубл. 11.10.2012, патентообладатель Casio Computer Co., Ltd.;
2. US 20090153647 A1, опубл. 18.06.2009, патентообладатель Nxp B.V.
3. RU 2421814, опубл. 10.01.2015, патентообладатель ФГБОУ ВПО «Южно-Российский государственный университет экономики и сервиса»;
4. Duda R., Hart P. Pattern Classification and Scene Analysis. — John Wiley and Sons, 1973. — P. 271—272.