|

|

Штрих-код и 666
Спецу по штрих-кодам (на форуме rsdn.ru известному под ником Кодт), в свете происходящей дискуссии задал вопрос:
Некоторые христиане очень сильно заморачиваются над тремя шестёрками в штрих-кодах. Почему они заморачиваются - это другой вопрос. Меня интересует чисто техническая сторона дела. В стандарте EAN-13, как я понял, крайние полосы безопасности - это компьютеная шестёрка, а средняя - это не шестерка или как? Заодним, не могли бы разъяснить, как дела обстоят в других стандартах штрих-кодов? Там ведь шестёрками и не пахнет?
Можете как-то прокомментировать это "математическое исследование" штрих-кода EAN-13:
http://www.pravoslavie.ru/shengen/soloviev.htm
Получил такой ответ: Привет, Дмитрий!
Разъясняю ситуацию:
какому-то сумрачному человеку захотелось рассказать страшилки на ночь.
Что он и делает, ища 666 где ни попадя.
Впрочем, чтобы развеять сомнения:
Guard Pattern не несёт числовой информации - она вся сосредоточена в основных частях штрихкода.
Всё, что понаписано про логику работы сканера - бред.
Сканер штрихкода, в отличие от сканеров изображений, не транслирует в компьютер сырую картинку.
Он самостоятельно различает полоски ограждения, распознаёт тип штрихкода, измеряет геометрические значения (единицу ширины и нелинейность искажений) и после этого декодирует штрихкод и отдаёт компьютеру. Откуда взялась у автора уверенность, что единичному штриху соответствует ровно один бит - не знаю. Но думаю, что это откровенная фигня.
Аппаратного масштабирования у сканера нет, это слишком дорогое удовольствие.
Значит, внутри он хранит картинку (линию) с достаточно высоким разрешением).
Кстати, а с чего вдруг считается, что цвет пробела 0, а цвет штриха 1 ?
По градациям яркости всё наоборот: чёрный это 0.
Ограждение используется для измерений геометрии, так что не факт, что ПО сканера оставляет его в результирующей строке (которую сканер же разбирает на символы). Более того, хранить монохромные паттерны чертовски неэффективно: удобнее использовать широтную модуляцию.
Так, упоминавшееся в статье число 6 (паттерн 0101111) будет представлено в виде 1114.
Опять же, так проще перемасштабировать картинку (вместо ужатия серий битов).
Во всяком случае, когда я для своих нужд сделал софтверный сканер штрихкода (простенькая прога на VB6) - именно широтная модуляция оказалась The best.
Кстати говоря, а почему ....|.|.XXXXXX.|.|.XXXXXX.|.|.....
расценивается как шестёрки?! Между прочим, помимо ограждения, слева и справа есть здоровенные зоны стабилизации - белые, то есть якобы это серии нулей. Переводя в десятичную систему счисления, мы получим какие-то безумные степени двойки, умноженные на 5 (101b).
P.S.
А почему вообще возник такой _нездоровый_ :) интерес?
Нужно какого-то упёртого бесоискателя успокоить?
Кстати, кто ищет, тот всегда найдёт.
Ищущий бога - найдёт бога. Ищущий хвост и копыта - соответственно. ;-\
Николай
P.P.S.
Говорят, староверы очень не любят имя "Николай" - там в конце собачий лай. А собака - якобы, нечистое животное.
Поэтому, если будешь ссылаться на мои слова - говори "Микола" :))) 
|
|