Задать вопрос

Определение штрихов на изображении (специфическом штрихкоде) плохого качества

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

Вопрос: как можно улучшить качество изображения? Как выделить именно штрихи?
  • Вопрос задан
  • 2580 просмотров
Подписаться 3 Оценить 4 комментария
Пригласить эксперта
Ответы на вопрос 4
opium
@opium
Просто люблю качественно работать
Смените метод съемки штрихкодов, или настройте резкость на оптике.
Ответ написан
Комментировать
@hexoid
По картинке — больше всег похоже на кассовый чек.
Ответ написан
Комментировать
YasonBy
@YasonBy
Похоже на почтовый штрих-код. Но по такой картинке, конечно, сложно судить…
Ответ написан
Комментировать
@rPman
Есть возможность получить несколько изображений одного и того же штрихкода, но каждое с немного смещенной позиции? если да, то можно, решив уравнение и улучшить качество изображение за счет избыточности.
| F(X)=M1
| F(X)=M2
|…
Где X матрица — искомое изображение более высокого качества, Ma — матрицы имеющихся изображений, содержащие часть или полностью искомое изображение, F — функция формирования испорченного изображения из нормального (фактически функция помех).

На сколько я знаю, чем лучше разработать эту функцию (наиболее точно соответствующую искажениям и помехам) тем больше вероятность найти X и выше его качество. Для начала можно F принять как простой блюр.
Каждая точка = сумма с коэффицентами от окружающих точек, коэффицент уменьшается с увеличением расстояния от этой точки, например для ближайших окружающих точек:
| F(X[a,b])=(M[a-1,b]+M[a+1,b]+M[a,b-1]+M[a,b+1])/4

Это общее положение, лично сам серьезно не занимался, в частных случаях математический аппарат сильно усложняется, очень жаль что с ходу не могу сформулировать запросы в гугл, одно время даже интересовался готовыми реализациями, например частично они уже есть в методах объединения нескольких фотографий в одно большое.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы