# Reading a Grid of Bar Codes

This code snippet shows how to read bar codes that are disposed in a 5 by 3 grid with 10% overlap between grid cells.

## C++

```cpp
#include <eVision/EasyBarCode/EasyBarCode2/EBarCodeReader.h>
```

```cpp
using namespace eVision;
EImageBW8 srcImage;
ERectangleRegion gridRegion;
EasyBarCode2::EBarCodeReader reader;

// Reading succeeds
EasyBarCode2::EBarCodeGrid grid = reader.Read(srcImage, gridRegion, 3, 5, 0.1f);

std::vector<EasyBarCode2::EBarCode> codesMiddleCell = grid.GetResults(1, 2);
```

#### SEE ALSO
[`EBarCodeReader::Read`](../../../../../doxygen_cpp/classeVision_1_1EasyBarCode2_1_1EBarCodeReader.html#a82a90c2861ab8b77859b3d3ac0ea154f) [<sub>.NET</sub>](../../../../../doxygen_cs/classeVision_1_1EasyBarCode2_1_1EBarCodeReader.html#adf5742837f2fe289a51ef4a56ae5fe80) [<sub>Python</sub>](../../../../../doxygen_python/classeVision_1_1EasyBarCode2_1_1EBarCodeReader.html#a3441ffc9eb4eb2f9ca77ae7396d7c2f3), [`EBarCodeGrid`](../../../../../doxygen_cpp/classeVision_1_1EasyBarCode2_1_1EBarCodeGrid.html) [<sub>.NET</sub>](../../../../../doxygen_cs/classeVision_1_1EasyBarCode2_1_1EBarCodeGrid.html) [<sub>Python</sub>](../../../../../doxygen_python/classeVision_1_1EasyBarCode2_1_1EBarCodeGrid.html)

## C#

```cs
using eVision;
```

```cs
EImageBW8 srcImage = new EImageBW8();
ERectangleRegion gridRegion = new ERectangleRegion();
eVision.EasyBarCode2.EBarCodeReader reader = new eVision.EasyBarCode2.EBarCodeReader();

// Reading
eVision.EasyBarCode2.EBarCodeGrid grid = reader.Read(srcImage, gridRegion, 3, 5, 0.1f);

eVision.EasyBarCode2.EBarCode[] codesMiddleCell = grid.GetResults(1, 2);
```

#### SEE ALSO
[`EBarCodeReader.Read`](../../../../../doxygen_cs/classeVision_1_1EasyBarCode2_1_1EBarCodeReader.html#adf5742837f2fe289a51ef4a56ae5fe80) [<sub>C++</sub>](../../../../../doxygen_cpp/classeVision_1_1EasyBarCode2_1_1EBarCodeReader.html#a82a90c2861ab8b77859b3d3ac0ea154f) [<sub>Python</sub>](../../../../../doxygen_python/classeVision_1_1EasyBarCode2_1_1EBarCodeReader.html#a3441ffc9eb4eb2f9ca77ae7396d7c2f3), [`EBarCodeGrid`](../../../../../doxygen_cs/classeVision_1_1EasyBarCode2_1_1EBarCodeGrid.html) [<sub>C++</sub>](../../../../../doxygen_cpp/classeVision_1_1EasyBarCode2_1_1EBarCodeGrid.html) [<sub>Python</sub>](../../../../../doxygen_python/classeVision_1_1EasyBarCode2_1_1EBarCodeGrid.html)

## Python

```py
import eVision
from eVision import EasyBarCode2
src_image = eVision.EImageBW8()
grid_region = eVision.ERectangleRegion()
reader = EasyBarCode2.EBarCodeReader()

# Reading
grid = reader.Read(src_image, grid_region, 3, 5, 0.1)

codes_middle_cell = grid.GetResults(1, 2)
```

#### SEE ALSO
[`EBarCodeReader.Read`](../../../../../doxygen_python/classeVision_1_1EasyBarCode2_1_1EBarCodeReader.html#a3441ffc9eb4eb2f9ca77ae7396d7c2f3) [<sub>C++</sub>](../../../../../doxygen_cpp/classeVision_1_1EasyBarCode2_1_1EBarCodeReader.html#a82a90c2861ab8b77859b3d3ac0ea154f) [<sub>.NET</sub>](../../../../../doxygen_cs/classeVision_1_1EasyBarCode2_1_1EBarCodeReader.html#adf5742837f2fe289a51ef4a56ae5fe80), [`EBarCodeGrid`](../../../../../doxygen_python/classeVision_1_1EasyBarCode2_1_1EBarCodeGrid.html) [<sub>C++</sub>](../../../../../doxygen_cpp/classeVision_1_1EasyBarCode2_1_1EBarCodeGrid.html) [<sub>.NET</sub>](../../../../../doxygen_cs/classeVision_1_1EasyBarCode2_1_1EBarCodeGrid.html)
