Курсовая работа: Сжатие данных при передаче изображений
В третьем блоке сброс переменой l в ноль и переменной f, содержащей информацию на передачу.
В четвертом блоке описывается цикл от 1 до 7 дляобработки массива исходных данных.
В пятом блоке определяется координата нового значения, в процедуре to_binary переводится в двоичную форму и добавляется к f– переменную на передачу.
В шестом блоке к переменной f добавляется код начала строки – служебная комбинация из одиннадцати единиц.
В седьмом блоке на дисплей выводится содержимое переменной f , которая используется для хранения закодированной строки. Этим заканчивается алгоритм программы сжатия одной строки.
Описание алгоритма подпрограммы to _ binary
Процедура to_binary переводит значение переменной l в двоичную форму, которое добавляется к переменной на передачу данных – f .
В первом блоке схемы представлен заголовок процедуры.
Во втором блоке описываются локальные переменные типа Word для хранения промежуточных данных.
В третьем блоке происходят начальные установки для перевода переменной l в двоичную форму.
В четвертом блоке происходит сравнение переменной S и переменной K, соответствующей 2n , где n изменяется от 10 до 0. При условии, что S >= K выполняется шестой блок, где добавляется единица к переменной f и изменяется содержимое переменной S, в противном случае выполняется пятый блок, где осуществляется добавление нуля к переменой f на передачу данных. В седьмом блоке происходит деление на два переменной К, т.е. переход к следующей степени.
При выполнении условия i = 12 выполнение подпрограммы завершается.
Описание алгоритма восстановления изображения по Адресно-позиционному методу
Во втором блоке описывается цикл от 1 до 7 для вывода на экран массива значений, полученных после восстановления закодированных данных, переменная i является счетчиком массива b для хранения восстановленных значений.
В третьем блоке схемы выполняются начальные установки необходимые для корректного восстановления закодированных данных.
В четвертом блоке описывается цикл от 1 до11 для перевода принятых значений из двоичной системы в десятичную. При этом, если значение строки ‘е’ =1, то n присваивается значение n+k, иначе – переход к седьмому блоку, в седьмом блоке происходит деление на два переменной k, т.е. переход к следующей степени.
В восьмом блоке добавляется 1 к переменной j, и если j=1, то возвращаемся к 4 блоку, если нет, то переходим к 9.
В девятом блоке b[i] присваивается значение переменной n, в 10 блоке текущее значение массива b[i] выводится на экран, переменной j присваивается значение на 1 большее. В 11 блоке происходит сравнение переменной i с числом 8, при выполнении условия происходит возврат ко второму блоку, иначе – конец.
В итоге на экран должны быть выведены значения длин серий, соответствующих закодированной строке, что при правильной реализации программы должно совпадать с введенными данными.
4. Программа, реализующая сжатие и восстановление изображения по методу
Адресно-позиционного кодирования
ProgrammCoding-Decoding;
Uses Crt;
Var
f, e: string;
i, j, l, k, n: word;
b, a: array [1..7] of word;
Procedure to_binary;
Var k, i, s: word;
Begin