От Кирилл Ю
К р.Б.Евгений Коблов
Дата 22.10.2004 15:22:53
Рубрики 1941; Холмово;

Re: Странно, что...

>На самом деле говорю же, не понимаю из-за своей ограниченности. И изучал эту проблему только по статьям. Самого ГОСТА не видел. Я понял только, что каждая цифра кодируется семью модулями. Но не понял, почему именно семь, а не четыре (в этом случае код не был бы избыточным), или не пять. Насколько я понял толщина достигается путем постановки подряд нескольких пробелов или штрихов. Ну я могу понять что избыточность была введена для удобства распознавания... По крайней мере, судя по алгоритмам декодирования они действительно измеряют толщину штрихов, а не их наличие или отсутствие. Но код всё равно можно было сделать однобитовым. И я все равно не могу понять почему этот код не избыточен

Странно, Вы же вроде к программированию какое-то отношение имеете: биты, байты, хэши, паритеты, алгоритмы..., а замечательную идею (с научной точки зрения т.с.) штрихового кодирования в упор не видите.

Для Ваших 4-битных двоично-десятичных представлений цифр вообще никакие дополнительные изобретения не нужны, прям так и изображаем: 1-черная полоса, 0-белая, без всяких преобразований. Вот только прочиать такой код будет задачей не из простых, учитывая масштабирование, качество бумаги, качество печати и всевозможные искажения изображения. Ну-ка, прикинте алгоритм который с этим бы надежно справлялся.

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

Если это понятно, то теперь легко сосчитать, сколько понадобится модулей для кодирования десяти цифр именно как двух штрихов и двух пробелов. Причем требуется минимум три различных набора: два начинающихся с пробела для левой половины (один четный и один нечетный, по количеству темных модулей) и дин четный начинающийся со штриха для правой половины. Изучая таблицу кодировки ЕАН, Вы без труда заметите, что там исчерпаны все до единого возможные варианты, кроме оказавшегося лишним упоминаемого Вами набора D. Таким образом, 7 модулей позволяют закодировать ровно 10 цифр в данной системе кодирования.