Learning a Bar Code

This code snippet shows how to learn from a given set of images.

C++

#include <eVision/EasyBarCode/EasyBarCode2/EBarCodeReader.h>
using namespace eVision;
EImageBW8 srcImage;
std::vector<EImageBW8> learningImages;  // set of images that are close to srcImage
EasyBarCode2::EBarCodeReader reader;

// Reading fails
// std::vector<EasyBarCode2::EBarCode> barcodesFail = reader.Read(srcImage);

// Learns the learningImages
reader.Learn(learningImages);

// Reading succeeds
std::vector<EasyBarCode2::EBarCode> barcodes = reader.Read(srcImage);

C#

using eVision;
EImageBW8 srcImage = new EImageBW8();
EImageBW8[] learningImages = new EImageBW8[4];  // set of images that are close to srcImage
eVision.EasyBarCode2.EBarCodeReader reader = new eVision.EasyBarCode2.EBarCodeReader();

// Reading fails
// eVision.EasyBarCode2.EBarCode[] barcodesFail = reader.Read(srcImage);

// Learns the learningImages
reader.Learn(learningImages);

// Reading succeeds
eVision.EasyBarCode2.EBarCode[] barcodes = reader.Read(srcImage);

Python

import eVision
from eVision import EasyBarCode2
src_roi = eVision.EROIBW8()
learning_roi: list[eVision.EROIBW8 | None] = [eVision.EROIBW8(), eVision.EROIBW8(), eVision.EROIBW8(),
eVision.EROIBW8()]  # set of ROIs that are close to src_roi
reader = EasyBarCode2.EBarCodeReader()

# Reading fails
# barcodesFail = reader.Read(src_image)

# Learns the learning_images
reader.Learn(learning_roi)

# Reading succeeds
barcodes = reader.Read(src_roi)