Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.90
Rayvol
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 46
#1

Реализовать распознавание штрих-кода на изображении и их расшифровку - C++

26.12.2012, 20:16. Просмотров 2732. Ответов 3
Метки нет (Все метки)

Добрый день, нужна помощь с реализацией.
Задание:
Реализовать распознавание штрих-кода на изображении и их расшифровку. У нас дана, к примеру, фотография с обычным штрих (бар) кодом (без сложностей типа Qr или Aztec кодов). Используется opencv (желательно).

Заранее благодарен за помощь с кодом или идеям способов реализации.

Добавлено через 1 час 7 минут
В данном случае нужна помощь с распознаванием и расшифровкой штрих-кода типа EAN-13. Алгоритм расшифровки (на той же википедии) я понял, но как это представить в с++ (или opencv) - не выходит.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2012, 20:16     Реализовать распознавание штрих-кода на изображении и их расшифровку
Посмотрите здесь:

Распознавание текста на изображении - C++
Здравствуйте , я был бы очень благодарен если бы кто то помог мне разобраться в том как комп читает изображения , поделился кодом из...

Создание программы на вычисление контрольного числа штрих кода. на с++ - C++
Вообще не представляю как написать программу программу на с++. По вычислению контрольного числа штрих кода по следующим правилам с диалогом...

Распознавание кода - C++
Суть задачи в том что в программу надо задать какой-то код(html) ,и она его проверяла и находила в нём определенный тег,и выдавало это на...

Не знаю как реализовать.Само задание в изображении. Работа с файлами - C++
Помогите пожалуйста, хотя бы как сделать так, чтобы считались строчки, которые заканчиваются буквой с клавиатуры.

Объяснить и подробно прокомментировать каждую строчку кода (распознавание точек фигуры) - C++
Программа должна распознавать точки фигуры. Кто может объяснить, что мы делаем в каждой строчке? int main() { float * x; ...

Как реализовать кодирование кода Хэмминга? - C++
Подскажите пожалуйста как реализовать кодирование кода Хэмминга на C++?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
26.12.2012, 21:53     Реализовать распознавание штрих-кода на изображении и их расшифровку #2
Вот здесь посмотрите
Алгоритм распознавание штрих-кода

Вариант алгоритма распознавания EAN 13.
Rayvol
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 46
26.12.2012, 22:10  [ТС]     Реализовать распознавание штрих-кода на изображении и их расшифровку #3
Цитата Сообщение от Nagdiel Посмотреть сообщение
Вот здесь посмотрите
Алгоритм распознавание штрих-кода

Вариант алгоритма распознавания EAN 13.
Благодарю. Дельная идея, поможет. Еще бы был исходник реализации
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2013, 23:54     Реализовать распознавание штрих-кода на изображении и их расшифровку
Еще ссылки по теме:

Реализовать раздельную компиляцию заданного кода - C++
Здравствуйте, у меня есть индивидуальная работа, и в ней 5 заданий, все нужно сделать в одном проекте Microsoft Visual Studio, и я кое что...

Реализовать подстановку кода с помощью препроцессора - C++
Есть множество классов: class SomeClassName1 { ... } class SomeClassName2 { ... } ...

Реализовать процесс декодирования кода Голея - C++
Приветствую. Нужна помощь. Как реализовать процесс декодирования по данному методу?...

Как вернуть из функции ошибку и её расшифровку? - C++
Вот пример функции: int test(int i) { if (!i) { //Добавить к возврату текстовое сообщение об ошибке return 0; }else if...

Как реализовать повторение заданного фрагмента кода? - C++
Доброго времени суток знатаки) Прошу помощи как сделать в case повторение программы бо например нажал программу она посчитала ответ...

Реализовать парсер xml кода, используя ассоциативный массив - C++
Нужно создать парсер. Из потока берётся лексема и происходит поиск 'njq ktrctvs в ассоциативном массиве. Если лексема...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Rayvol
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 46
10.01.2013, 23:54  [ТС]     Реализовать распознавание штрих-кода на изображении и их расшифровку #4
Нужна небольшая помощь в данной работе.
Что есть:
У нас есть рисунок, содержащий штрих-код (во вложении)
Что нужно:
Вывести закономерность белого и черного цвета (по верхней линии штрих кода) где белый это 0, а черный 1 (по одному символу на пиксель) и создать некую матрицу вида 111-000-11-00 итд. Затем из полученной закономерности надо расшифровать штрих код (в моем случае должно получиться 123456)(расшифровка) и вывести в итоге (в консоли) значения, зашифрованные в этом штрих коде.
С созданием матрицы я уже вроде бы разобрался, а вот с расшифровкой - проблема. Не понимаю, как сделать алгоритм. Очень нужна помощь в этом.
Для упрощения штрих-код обрезал в редакторе изображений, чтобы первый пиксель был черный.
Код для проверки пикселей:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <QtCore/QCoreApplication>
#include <string.h>
#include <QtGui/QColor>
#include <QtGui/QImage>
#include <QtGui/QPixmap>
#include <QtGui/QPicture>
#include <QtGui/QPainter>
#include <QPoint>
#include <QPointF>
#include <QtGui/QWidget>
#include <QtGui/QtGui>
#include <QTextStream>
 
QTextStream qout(stdout);
QTextStream qin(stdin);
 
int main(int argc, char **argv)
{
    int s = 0;
    int n;
    QImage img1("test1.png");
    n = img1.width();
    int mas[n];
    for (int i = 0; i<n; i++)
    {
        mas[i] = 1;
    }
    bool a = true;
    QColor pix1;
    QColor pix2;
    pix1.setRgb(img1.pixel(1,1));
    for (int i = 1; i<n; i++)
    {
        pix2.setRgb(img1.pixel(i,1));
        if (pix1 != pix2)
        {
            mas[i] = 0;
        }
    }
 
    for (int i = 0; i<n; i++)
    {
        qout<<mas[i]<<" ";
    }
    return 0;
}
И функция

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
for (int i = 1; i<n; i++)
    {
        pix1.setRgb(img1.pixel(i,0)); //считываю пиксель
        pix2.setRgb(img1.pixel(i-1,0)); // тоже самое с предыдущим
        if (pix1 == pix2)
        {
            mas[i-1] = 1;
        }
        else
        {
            mas[i-1] = 1;
            a = false;
        }
        if (a = false)
        {
            for (int j = i; j<n; j++)
            {
 
                pix1.setRgb(img1.pixel(j,0));
                pix2.setRgb(img1.pixel(j-1,0));
                if (pix1 == pix2)
                {
                    mas[j-1] = 0;
                }
                else
                {
                    mas[j-1] = 0;
                    a = true;
                    i=j;
                    break;
                }
            }
        }
    }
#FFFFFF
#FFFFFE
Миниатюры
Реализовать распознавание штрих-кода на изображении и их расшифровку  
Yandex
Объявления
10.01.2013, 23:54     Реализовать распознавание штрих-кода на изображении и их расшифровку
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru