Вот некоторые соображения.
1. Вначале дествительно стоит избавиться от шума. Блок-фильтры (усреднение под разными соусами), предлагавшиеся выше, обычно менее эффективны, чем медианный фильтр. Медианный фильтр берет значения пикселов в заданном радиусе и находит медиану их значений. Медиана - это значение среднего пиксела в списке пикселов после упорядочивания. Этот метод требует сортировки, но на картинках 700х256 и при малом радиусе (2-3 пиксела) будет все равно достаточно быстрым.
2. Выделение границ. Есть набор стандартных фильтров, наиболее популярный из них Sobel - см. здесь
http://en.wikipedia.org/wiki/Sobel
3. После выделения границ желательно провести морфологическую чистку, чтоб удалить оставшийся шум. Задавшись пороговым значением (например, 0.5) надо построить бинарную картинку для границ. Т.е. в местах, где есть граница, пикселы будут равны 1; и 0 в остальных местах. На такую картинку надо напустить морфологическую операцию opening (erosion, затем closing с тем же параметром, см.
http://en.wikipedia.org/wiki/Morphologi ... Processing) После чистки можно либо остаться на уровне бинарной картинки, либо вернуться к gray scale edge image, т.е. использовать бинарную картинку только как маску.
4. После всех этих предварительных притопов и прихлопов можно приступать к основной задаче. Вероятно, для распознавания цифр и букв проще всего завести их эталонные изображения. Понятное дело, их тоже надо превратить в edge image - картинку, содержащую только границы. После этого, можно тупо пытаться найти символ, который при некотором масштабе и повороте (в небольшом диапазоне углов) дает максимальную корреляцию с еще не распознанной частью картинки.
Нахождение первого символа будет довольно дорогим.
Простейших способ сократить вычисления - применить multi-resolution approach. То есть сначала корреляция ищется с помощью картинок вдвое меньшего разрешения. Если "подозрительное место" найдено, то оно обрабатывается на картинке полного разрешения. При полном разрешении вычисляется более точное значение корреляции и уточняется положение символа.
Кроме того, после того как первый символ найден, мы можем предполагать, что остальные расположены "в строчку". Поэтому в дальнейшем мы можем считать, что масштаб и поворот нам известны, а также известно приблизительное положение остальных символов.
Шаг 4 можно значительно соптимизировать, если применить "преобразование Hough" (не знаю как это по-русски, но введение есть здесь -
http://en.wikipedia.org/wiki/Hough_transform). Для этого перед шагом 4 выполняем след. процедуру.
Разбиваем вычищенное изображение границ на блоки размером, скажем, 8х8. В каждом из них строим преобразование Hough и находим доминирующую прямую, проходящую через этот блок. Далее, анализурем соседние блоки и оставляем только те где, во-первых, есть такая доминирующя линия, во-вторых она не является частью очень длинной линии (второе -опционально). Затем выкидываем из рассмотрения все блоки, где линии удаовлетворияющие нашим критериям не присутствуют (заливаем нулями или ставим флаги - не важно). То что осталось, в идеале, и есть область, где расположен номер, плюс, возможно, немного лишнего. Эту область, в свою очередь, тоже можно подвергнуть морфологическому улучшению (понятно, что при этом надо работать на уровне блоков, а не пикселов).
Шаг 4 теперь становится намного эффективнее. Во первых, исходя из ширины и ориентации оставшейся области мы можем предположить диапазон масштабов и углов поворота. Во вторых, поиск макс. корреляции с эталоном можно вести не по всей картинки, а по гораздо меньшей ее части.
Метод можно усилить, если искать не только линии, но и окружности (для нулей и восьмерок) - есть и такая разновидность преобразования Hough. Строится она очевидным образом.
Очень рекомендую программировать каждый метод в отдельности и убеждаться в правильности его работы на тестовых примерах.
Также хочу предостеречь от нейросетевых методов. Я не видел ни одного действительно работающего. Вдобавок, если отладка пошагового метода, описанного выше, вполне осуществима (всегда видно на каком этапе метод работает хорошо, а на каком нет), то с нейросетями такая пошаговая отладка и настройка обычно гораздо труднее, если вообще возможна.
Желаю удачи.