Восстановление изображения

Найти алгоритм восстановления (декодирования) из контурного – Е изображения исходного изображения v = Ve, можно используя уравнение (7).  Из которого следует, что:

 

.                                                          (12)

 

 

Рис.4 Изображения: а) исходное – v, б) контурное масштабированное – L, в) искусственно контрастированное – L, г) псевдо-цветное контурное – L.

При этом известны граничные значения:

 

Ve1,j = E1,j = v1,j,  Ve2,j = E2,j = v2,j,

 

 Vei,1 = Ei,1 = vi,1, Vei,2 = Ei,2 = vi,2

 

и расчет ведется для элементов исходного изображения в интервале номеров:

 

3 ≤ iM и 3 ≤ jN.

 

Рис.5 Прямоугольная решетка. Восстановление исходного изображения размера 9 х 9 из контурного того же размера: а) последовательно, б) параллельно.

Для иллюстрации последовательности декодирования контурного изображения на рис. 5 а) показан порядок восстановления небольшого исходного изображения при M = 9 и N = 9. Здесь восстановление начинается с элемента, обозначенного номером «1» и продолжается вдоль третьей строки изображения в порядке следования обозначенных номеров элементов. Вторая строка восстановления начинается с номера «8», затем «9» и так далее. Вторая и последующие строки восстанавливаются в аналогичном приведенному порядке. При этом восстанавливающая маска, как и кодирующая движется вдоль строки касаясь нижним правым углом пронумерованного элемента изображения. На рисунке отдельные строки выделены различными (тремя) цветами (тонами). При описанном порядке восстановление изображения произойдет за (М-2) х (N-2) шагов.

Возможен другой порядок восстановления если имеется возможность параллельной обработки изображения. В этом случае контурное изображение декодируется целой строкой за один шаг обработки. На рис. 5 б) такие строки показаны одним цветом (тоном) и пронумерованы одинаковыми числами. Как видим эти строки расположены по диагоналям клетчатого поля изображения. При параллельном восстановлении оно произойдет всего за М-2 шага, если M > N и за N-2 шага если M < N. Очевиден выигрыш во времени при параллельной обработке контурного изображения, что особенно важно, когда таких изображений много.

Алгоритм восстановления (декодирования) из контурного – K изображения исходного изображения v = Vk, можно получить используя уравнение (8).  Из которого следует, что:

                                                  (13)

 

 

 

При этом известны граничные значения:

 

Vk1,j = K1,j = v1,jVk2,j = K2,j = v2,j,

 

 Vki,1 = Ki,1 = vi,1, Vki,2 = Ki,2 = vi,2

 

и расчет ведется для элементов исходного изображения в интервале номеров:

 

3 ≤ iM и 3 ≤ jN.

 

Таким образом, порядок восстановления из К – контурного изображения отличается от предыдущего случая Е – изображения только алгоритмом.

 

Алгоритм восстановления (декодирования) из контурного – L изображения исходного изображения v = Vl, можно используя уравнение (11). Из которого следует, что:

.                                     (14)

 

При этом известны граничные значения:

 

V1,j = L1,j = v1,jVlM,j = LM,j = vM,j,

 

 Vli,1 = Li,1 = vi,1, Vli,2 = Li,2 = vi,2

 

и расчет ведется для элементов исходного изображения в интервале номеров:

 

2 ≤ iM-1 и 3 ≤ jN.

 

Заметим, что в выражении (14) присутствует член с индексом i+1, в отличии от предыдущих выражений (12) и (13), что обязывает правильно организовать циклы вычислений. Цикл по индексу – i должен быть внутренним. Например, в системе Mathcad следует использовать программный модуль:

 

.                 (15)

Восстановление исходного изображения из контурного, полученного с применением любой из приведенных на рис. 1 масок по приведенным алгоритмам, позволяет получить точную копию исходного изображения, приведенного в наших примерах на рисунках 2, 3 и 4 с обозначением – а.