Разделите изображение на подизображения NxM.Затем выполните одно из следующих действий:
a) Сделайте FFT для каждого подизображения и сравните результат с предварительно вычисленным 2D FFT стандартного изображения штрих-кода.(Поскольку штрих-коды являются довольно монотонными и очень повторяющимися изображениями, они должны генерировать аналогичные шаблоны FFT)
b) Выполнить некоторый тонкий алгоритм (скелетонизация), чтобы оставить только скелеты на изображениях.Затем выполните преобразование Радона или Хафа на каждом подизображении скелета и найдите ряд линий с одинаковым углом отклонения в пределах границ ошибки.
Лично я бы выбрал второй способ с шагом предварительного скелетонизации, поскольку преобразования Радона / Хафаспециально разработан для поиска строк в изображениях.