Читання штрих-коду із зображення в C#

Ви шукаєте спосіб зчитувати штрих-коди або QR-коди із зображень програмним способом? Якщо ви розробник і вам потрібно створити власну програму для зчитування штрих-кодів? Ви потрапили в потрібне місце. Штрих-коди мають вирішальне значення для точного відстеження запасів і доставки продуктів від виробництва до точки продажу. Ми можемо легко виявляти, розпізнавати та читати різні типи штрих-кодів і QR-кодів у програмах .NET. У цій статті ми покажемо вам, як прочитати штрих-код із зображення в C#, виконавши кілька простих кроків. Ви можете використовувати цю статтю як покроковий посібник із розробки програм для зчитування штрих-кодів або сканерів.

По-перше, ми розглянемо C# Barcode Reader API для зчитування штрих-кодів, доступних у вхідному зображенні. Далі ми розглянемо кроки, як виявити, розпізнати та витягти дані штрих-коду із зображення. Ви знайдете докладні кроки та фрагменти коду. Нарешті, ми надамо корисні посилання для подальшого вдосконалення. Тож почнемо!

У цій статті будуть розглянуті такі теми:

  1. API C# для читання штрих-коду із зображення
  2. Кроки для читання штрих-коду із зображення
  3. Читання штрих-коду з растрового зображення
  4. Прочитайте штрих-код із зображення за допомогою потоку
  5. Як читати штрих-код певного типу
  6. Зчитування штрих-кодів кількох типів із зображення
  7. Виявлення та читання попередньо визначених наборів символів
  8. Виявлення та читання кількох штрих-кодів із зображення
  9. Отримати координати X і Y штрих-коду
  10. Прочитайте штрих-код із певної області зображення
  11. Зчитування штрих-коду з кількох областей зображення

C# API для читання штрих-коду із зображення

Для зчитування штрих-коду із зображення ми будемо використовувати API Aspose.BarCode for .NET. API дозволяє генерувати, сканувати та зчитувати широкий спектр символів штрих-кодів. Він дозволяє відтворювати зображення штрих-кодів у форматах JPEG, TIFF, PNG, BMP і GIF.

API надає клас BarCodeReader, який дозволяє розпізнавати понад 60 різних типів штрих-кодів із заданих зображень. Першим кроком у виявленні штрих-кодів є визначення джерела зображення зі штрих-кодами. Це може бути файл, растровий об’єкт або потік. Потім необхідно вказати цільові символіки в параметрі DecodeType. Ми можемо переглянути всі різні типи підтримуваних символогій, вказавши DecodeType.AllSupportedTypes. Метод ReadBarCodes() цього класу повертає масив розпізнаних штрих-кодів. Клас BarCodeResult API зберігає розпізнані дані штрих-коду, такі як тип штрих-коду, текст коду, регіон та інші параметри.

API також дозволяє вказувати області зображення, які має зчитувати зчитувач штрих-кодів. Це можна зробити за допомогою об’єкта .NET Rectangle і дозволяє уникнути необхідності пошуку штрих-кодів у областях зображення, які не містять штрих-кодів за замовчуванням.

Завантажте DLL API або встановіть його за допомогою NuGet.

PM> Install-Package Aspose.BarCode 

Читання штрих-коду із зображення за допомогою C#

Ми можемо легко прочитати штрих-код із зображення, виконавши наведені нижче дії.

  1. По-перше, завантажте зображення за допомогою класу BarCodeReader.
  2. Викличте метод readBarCodes() і отримайте результати розпізнавання в об’єкті класу BarCodeResult.
  3. Нарешті, перегляньте результати та покажіть тип і текст штрих-коду.

У наведеному нижче прикладі коду показано, як зчитувати штрих-код із зображення в C#.

// Цей приклад коду демонструє, як читати штрих-код із файлу зображення.
// Ініціалізувати зчитувач штрих-кодів
BarCodeReader reader = new BarCodeReader("C:\\Files\\BarCode\\Sample.png");

// Прочитати штрих-код і показати результати
foreach(BarCodeResult result in reader.ReadBarCodes()) 
{
    Console.Out.WriteLine("CodeText: " + result.CodeText);
    Console.Out.WriteLine("Symbology type: " + result.CodeType);
}
Зчитування штрих-коду із зображення.

Зчитування штрих-коду із зображення в C#.

Читання штрих-коду з Bitmap у C#

Ми можемо легко прочитати штрих-код із зображення, виконавши наведені нижче дії.

  1. По-перше, завантажте зображення за допомогою класу Bitmap.
  2. Далі створіть екземпляр класу BarCodeReader з об’єктом Bitmap.
  3. Викличте метод ReadBarCodes() і отримайте результати розпізнавання в об’єкті класу BarCodeResult.
  4. Нарешті, перегляньте результати та покажіть тип і текст штрих-коду.

У наведеному нижче прикладі коду показано, як читати штрих-код із растрового зображення в C#.

// Цей приклад коду демонструє, як читати штрих-код із растрового зображення.
// Завантажити зображення в Bitmap
Bitmap bmp = new Bitmap("C:\\Files\\BarCode\\Code128.jpg");

// Ініціалізувати зчитувач штрих-кодів
BarCodeReader reader = new BarCodeReader(bmp);

// Зчитайте всі штрих-коди у наданій області
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    Console.Out.WriteLine("CodeText: " + result.CodeText);
    Console.Out.WriteLine("Symbology type: " + result.CodeType);
}
Читання штрих-коду з растрового зображення в C#.

Зчитування штрих-коду з Bitmap у C#.

Читання штрих-коду із зображення за допомогою Stream у C#

Ми також можемо завантажити зображення штрих-коду за допомогою потоку файлів і прочитати штрих-код, виконавши наведені нижче дії.

  1. По-перше, завантажте зображення за допомогою класу FileStream.
  2. Далі створіть екземпляр класу BarCodeReader з об’єктом потоку.
  3. Викличте метод ReadBarCodes() і отримайте результати розпізнавання в об’єкті класу BarCodeResult.
  4. Нарешті, перегляньте результати та покажіть тип і текст штрих-коду.

У наведеному нижче прикладі коду показано, як зчитувати штрих-код із зображення за допомогою Stream у C#.

// Цей приклад коду демонструє, як зчитувати штрих-код із зображення за допомогою потоку файлів.
// Завантажити зображення
Stream stream = new FileStream("C:\\Files\\BarCode\\MultipleBarcodes.jpeg", FileMode.Open, FileAccess.Read);

// Ініціалізувати зчитувач штрих-кодів
BarCodeReader reader = new BarCodeReader(stream);

// Зчитайте всі штрих-коди у наданій області
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    Console.Out.WriteLine("CodeText: " + result.CodeText);
    Console.Out.WriteLine("Symbology type: " + result.CodeType);
}

Читання штрих-коду певного типу із зображення в C#

Рекомендується вибрати цільові символіки штрих-кодів, які розглядатимуться для розпізнавання, щоб мінімізувати кількість часу, необхідного для завершення розпізнавання, і уникнути спроб розпізнати застарілі штрих-коди.

Ми можемо вказати цільовий тип штрих-коду та зчитати штрих-код із зображення, виконавши наведені нижче кроки:

  1. По-перше, завантажте зображення за допомогою класу BarCodeReader.
  2. Далі встановіть тип декодування штрих-коду, наприклад Code39Standard.
  3. Після цього отримати результати розпізнавання в об’єкті класу BarCodeResult за допомогою методу ReadBarCodes().
  4. Нарешті, перегляньте результати та покажіть тип і текст штрих-коду.

У наведеному нижче прикладі коду показано, як зчитати штрих-код певного типу із зображення за допомогою C#.

// Цей приклад коду демонструє, як читати штрих-код певного типу декодування із зображення.
// Ініціалізувати зчитувач штрих-кодів
BarCodeReader reader = new BarCodeReader("C:\\Files\\BarCode\\Code39Standard.jpg", DecodeType.Code39Standard);

// Прочитайте штрих-код типу Code39Extended
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    Console.Out.WriteLine("CodeText: " + result.CodeText);
    Console.Out.WriteLine("Symbology type: " + result.CodeType);
}
Розпізнавайте штрих-код певного типу із зображення

Розпізнавання штрих-коду певного типу із зображення в C#.

Читання штрих-кодів кількох типів із зображення в C#

Ми також можемо вказати кілька типів штрих-кодів, виконавши наведені нижче дії.

  1. По-перше, завантажте зображення за допомогою класу BarCodeReader.
  2. Далі встановіть типи декодування штрих-коду за допомогою методу SetBarCodeReadType().
  3. Після цього отримати результати розпізнавання в об’єкті класу BarCodeResult за допомогою методу ReadBarCodes().
  4. Нарешті, перегляньте результати та покажіть тип і текст штрих-коду.

У наведеному нижче прикладі коду показано, як читати штрих-коди кількох типів із зображення за допомогою C#.

// Цей приклад коду демонструє, як читати штрих-код кількох типів декодування із зображення.
// Ініціалізувати зчитувач штрих-кодів
BarCodeReader reader = new BarCodeReader("C:\\Files\\BarCode\\MultipleBarcodes.png");
reader.SetBarCodeReadType(DecodeType.DataMatrix, DecodeType.QR, DecodeType.Code39Extended);

// Читайте штрих-коди
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    Console.Out.WriteLine("CodeText: " + result.CodeText);
    Console.Out.WriteLine("Symbology type: " + result.CodeType);
    Console.Out.WriteLine("-------------------------");
}
Читання штрих-кодів кількох типів із зображення в C#

Читання штрих-кодів кількох типів із зображення в C#

Ми також можемо вказати кілька типів декодування в конструкторі класу BarCodeReader, як показано нижче:

BarCodeReader reader = new BarCodeReader("C:\\Files\\BarCode\\Code39Standard.jpg", DecodeType.DataMatrix, DecodeType.QR, DecodeType.Code39Extended);

Читання попередньо визначеного набору типів штрих-кодів із зображення в C#

Ми можемо читати попередньо визначений набір символів для розпізнавання, визначений у класі DecodeTypes. Ми можемо встановити будь-який із наступного попередньо визначеного набору:

  • AllSupportedTypes - усі підтримувані типи штрих-кодів
  • Types1D – усі підтримувані одновимірні символіки
  • Types2D – усі підтримувані двовимірні символіки
  • PostalTypes – усі підтримувані поштові символіки, які в основному використовуються поштовими службами
  • MostCommonTypes - визначений набір найбільш широко використовуваних стандартів штрих-кодів

Ми можемо вказати попередньо визначений набір, виконавши наведені нижче кроки:

  1. По-перше, завантажте зображення за допомогою класу BarCodeReader.
  2. Далі встановіть тип декодування штрих-коду в конструкторі BarCodeReader або методі SetBarCodeReadType, наприклад DecodeType.Types2D.
  3. Після цього отримати результати розпізнавання в об’єкті класу BarCodeResult за допомогою методу ReadBarCodes().
  4. Нарешті, перегляньте результати та покажіть тип і текст штрих-коду.

У наведеному нижче прикладі коду показано, як читати штрих-код за допомогою попередньо визначеного набору символів у C#.

// Цей приклад коду демонструє, як читати штрих-код за допомогою попередньо визначеного набору символів.
// Ініціалізувати зчитувач штрих-кодів
BarCodeReader reader = new BarCodeReader("C:\\Files\\BarCode\\MultipleBarcodes.png", DecodeType.Types1D);

// Прочитати штрих-код і показати результати
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    Console.Out.WriteLine("CodeText: " + result.CodeText);
    Console.Out.WriteLine("Symbology type: " + result.CodeType);
    Console.Out.WriteLine("-------------------------");
}
Читання попередньо визначеного набору типів штрих-кодів із зображення в C#

Читання попередньо визначеного набору типів штрих-кодів із зображення в C#

Читання кількох штрих-кодів із зображення в C#

Ми також можемо зчитувати всі доступні штрих-коди із зображення, виконавши наведені нижче дії.

  1. По-перше, завантажте зображення за допомогою класу BarCodeReader.
  2. Далі встановіть тип декодування штрих-коду як ALLSUPPORTEDTYPES.
  3. Після цього отримати результати розпізнавання в об’єкті класу BarCodeResult за допомогою методу ReadBarCodes().
  4. Нарешті, перегляньте результати та покажіть тип і текст штрих-коду.

У наведеному нижче прикладі коду показано, як читати кілька штрих-кодів із зображення за допомогою C#.

// Цей приклад коду демонструє, як читати штрих-код із кількох штрих-кодів із зображення.
// Ініціалізувати зчитувач штрих-кодів
BarCodeReader reader = new BarCodeReader("C:\\Files\\BarCode\\MultipleBarcodes.png", DecodeType.AllSupportedTypes);

// Зчитування всіх типів штрих-кодів, доступних на вхідному зображенні
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    Console.Out.WriteLine("CodeText: " + result.CodeText);
    Console.Out.WriteLine("Symbology type: " + result.CodeType);
    Console.Out.WriteLine("-------------------------");
}
Зчитування кількох штрих-кодів із зображення.

Зчитування кількох штрих-кодів із зображення.

Отримайте координати X і Y штрих-коду за допомогою C#

Ми можемо прочитати координати X і Y виявленого штрих-коду із зображення, виконавши наведені нижче дії.

  1. По-перше, завантажте зображення за допомогою класу BarCodeReader.
  2. Потім отримайте результати розпізнавання в об’єкті класу BarCodeResult за допомогою методу ReadBarCodes().
  3. Потім перегляньте результати та перевірте, чи регіон не нульовий.
  4. Після цього отримайте масив Points, що обмежує область штрих-коду за допомогою Points.
  5. Нарешті, покажіть точки X і Y штрих-коду.

У наведеному нижче прикладі коду показано, як отримати точки координат X і Y штрих-коду із зображення за допомогою C#.

// Цей приклад коду демонструє, як зчитувати точку зони X і Y штрих-кодів із зображення.
// Ініціалізувати зчитувач штрих-кодів
BarCodeReader reader = new BarCodeReader("C:\\Files\\BarCode\\Code39Standard.jpg", DecodeType.AllSupportedTypes);

// Прочитайте штрих-код
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    if (result.Region != null)
    {
        // Відображення координат x і y усіх виявлених штрих-кодів
        Point[] point = result.Region.Points;
        Console.Out.WriteLine("Top left coordinates: X = " + point[0].X + ", Y = " + point[0].Y);
        Console.Out.WriteLine("Bottom left coordinates: X = " + point[1].X + ", Y = " + point[1].Y);
        Console.Out.WriteLine("Bottom right coordinates: X = " + point[2].X + ", Y = " + point[2].Y);
        Console.Out.WriteLine("Top right coordinates: X = " + point[3].X + ", Y = " + point[3].Y);
    }
}
Отримайте координати X і Y штрих-коду

Отримайте координати X і Y штрих-коду із зображення.

Читання штрих-коду з певної області зображення в C#

Ми можемо прочитати штрих-код із певного регіону чи ділянки зображення, виконавши наведені нижче дії.

  1. По-перше, прочитайте дані буфера файлу зображення за допомогою методу Bitmap.
  2. Далі створіть екземпляр класу BarCodeReader. Він приймає зображення, прямокутну область і тип декодування як аргументи.
  3. Після цього отримати результати розпізнавання в об’єкті класу BarCodeResult за допомогою методу ReadBarCodes().
  4. Нарешті, перегляньте результати та покажіть тип і текст штрих-коду.

У наведеному нижче прикладі коду показано, як зчитувати штрих-код із певної області зображення за допомогою C#.

// Цей приклад коду демонструє, як зчитувати штрих-код із певної області зображення.
// Завантажити зображення
Bitmap img = new Bitmap("C:\\Files\\BarCode\\MultipleBarcodes.jpeg");

// Створіть екземпляр класу BarCodeReader
// і вкажіть область для пошуку штрих-коду
BarCodeReader reader = new BarCodeReader(img, new Rectangle(0, 0, 400, 200));

// Зчитайте всі штрих-коди у наданій області
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    Console.Out.WriteLine("CodeText: " + result.CodeText);
    Console.Out.WriteLine("Symbology type: " + result.CodeType);
}
Зчитування штрих-коду з певної області зображення.

Зчитування штрих-кодів із певної області зображення в C#.

Читання штрих-коду з кількох областей зображення в C#

Ми також можемо зчитувати штрих-код із кількох областей зображення, виконавши наведені нижче дії.

  1. По-перше, завантажте зображення за допомогою класу Bitmap.
  2. Далі визначте прямокутники за допомогою класу Rectangle.
  3. Потім створіть екземпляр класу BarCodeReader.
  4. Тим часом викличте SetBarCodeImage() з об’єктом зображення та прямокутниками як аргументами.
  5. За бажанням установіть типи зчитування штрих-кодів за допомогою методу SetBarCodeReadType().
  6. Після цього отримати результати розпізнавання в об’єкті класу BarCodeResult за допомогою методу ReadBarCodes().
  7. Нарешті, перегляньте результати та покажіть тип і текст штрих-коду.

У наведеному нижче прикладі коду показано, як зчитувати штрих-код із кількох областей зображення за допомогою C#.

// Цей приклад коду демонструє, як зчитувати штрих-код із певної області зображення.
// Завантажити зображення в Bitmap
Bitmap bmp = new Bitmap("C:\\Files\\BarCode\\MultipleBarcodes.png");

// Прямокутник двовимірного штрих-коду на вихідному зображенні
Rectangle rect2D = new Rectangle(0, 0, 400, 200);

// Прямокутник штрих-коду Code128 у вихідному зображенні
Rectangle rectCode128 = new Rectangle(450, 100, 600, 180);

// Ініціалізувати зчитувач штрих-кодів
BarCodeReader reader = new BarCodeReader();
reader.SetBarCodeImage(bmp, new Rectangle[] { rect2D, rectCode128 });
reader.SetBarCodeReadType(DecodeType.AllSupportedTypes);

// Зчитайте всі штрих-коди у наданій області
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    Console.Out.WriteLine("CodeText: " + result.CodeText);
    Console.Out.WriteLine("Symbology type: " + result.CodeType);
    Console.Out.WriteLine("-------------------------");
}
Зчитування штрих-коду з кількох областей зображення.

Читайте штрих-коди з декількох областей зображення в C#.

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати бібліотеку без оціночних обмежень.

Висновок

У цій статті ми дізналися, як:

  • Завантажити файл зображення штрих-коду;
  • Читати зображення як растрові або за допомогою потоку файлів;
  • розпізнавати штрих-коди різних типів за зображенням;
  • читати координати штрих-коду;
  • виявляти та зчитувати кілька штрих-кодів з одного зображення;
  • виявляти та зчитувати штрих-коди з певної області зображення.

Окрім читання штрих-коду із зображення в C#, ви можете дізнатися більше про Aspose.BarCode for .NET API за допомогою документації. У разі будь-яких неясностей зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також