Grading a Bar Code

This code snippet shows how to compute the ISO15416 grading of a bar code.

C++

#include <eVision/EasyBarCode/EasyBarCode2/EBarCodeReader.h>
using namespace eVision;
EImageBW8 srcImage;
EasyBarCode2::EBarCodeReader reader;

// Enables grading computation
reader.SetComputeGrading(true);

// Read the image and retrieve the computed grade
std::vector<EasyBarCode2::EBarCode> barcodes = reader.Read(srcImage);
if (!barcodes.empty())
{
  EasyBarCode2::EBarCodeGradingParameters grades = barcodes[0].GetGradingParameters();

  // global grade on a range from 0 to 40
  grades.GlobalGrade;

  // global grade on a range from F to A
  EasyBarCode2::EBarCodeGradingParameters::ConvertToAlphabeticGrade(grades.GlobalGrade);
}

C#

using eVision;
EImageBW8 srcImage = new EImageBW8();
eVision.EasyBarCode2.EBarCodeReader reader = new eVision.EasyBarCode2.EBarCodeReader();

// Enables grading computation
reader.ComputeGrading = true;

// Read the image and retrieve the computed grade
eVision.EasyBarCode2.EBarCode[] barcodes = reader.Read(srcImage);
if (barcodes.Length != 0)
{
  eVision.EasyBarCode2.EBarCodeGradingParameters grades = barcodes[0].GradingParameters;

  // global grade on a range from 0 to 40
  byte grade = grades.GlobalGrade;

  // global grade on a range from F to A
  eVision.EasyBarCode2.EBarCodeGradingParameters.ConvertToAlphabeticGrade(grades.GlobalGrade);
}

Python

import eVision
from eVision import EasyBarCode2
src_image = eVision.EImageBW8()
reader = EasyBarCode2.EBarCodeReader()

# Enables grading computation
reader.ComputeGrading = True

# Read the image and retrieve the computed grade
barcodes = reader.Read(src_image)
if len(barcodes) != 0:
    grades = barcodes[0].GradingParameters

    # global grade on a range from 0 to 40
    grade = grades.GlobalGrade

    # global grade on a range from F to A
    EasyBarCode2.EBarCodeGradingParameters.ConvertToAlphabeticGrade(grades.GlobalGrade)