# Incremental Image Stitching

This code snippet shows how to stitch multiple images.

## C++

```cpp
#include <eVision/EasyImage/EImageStitcher.h>
```

```cpp
using namespace eVision;
// Create the stitcher class
EImageStitcher stitcher;

// EImageBW8 can be used instead of EImageC24
// Patchs is a vector of image where each image is calibrated
std::vector<EImageBW8> patchs;
EImageBW8 output;

// Incremental mode with a grid
stitcher.StartIncrementalStitching(EImageType_BW8, 2, 2);
stitcher.ProcessImage(EImageBW8());
stitcher.ProcessImage(EImageBW8());
stitcher.ProcessImage(EImageBW8());
stitcher.ProcessImage(EImageBW8());
stitcher.FinalizeIncrementalStitching(output);
```

## C#

```cs
using eVision;
using System.Collections.Generic;
```

```cs
// Create the stitcher class
EImageStitcher stitcher = new EImageStitcher();

// EImageC24 can be used instead of EImageBW8
// Patchs is a vector of image where each image is calibrated
List<EImageBW8> patchs = new List<EImageBW8>();
EImageBW8 output = new EImageBW8();

// Incremental mode with a grid
stitcher.StartIncrementalStitching(EImageType.BW8, 2, 2);
stitcher.ProcessImage(new EImageBW8());
stitcher.ProcessImage(new EImageBW8());
stitcher.ProcessImage(new EImageBW8());
stitcher.ProcessImage(new EImageBW8());
stitcher.FinalizeIncrementalStitching(output);
```

## Python

```py
import eVision
# Create the stitcher class
stitcher = eVision.EImageStitcher()

# EImageC24 can be used instead of EImageBW8
# Patchs is a vector of image where each image is calibrated
patchs = []
output = eVision.EImageBW8()

# Incremental mode with a grid
stitcher.StartIncrementalStitching(eVision.EImageType.BW8, 2, 2)
stitcher.ProcessImage(eVision.EImageBW8())
stitcher.ProcessImage(eVision.EImageBW8())
stitcher.ProcessImage(eVision.EImageBW8())
stitcher.ProcessImage(eVision.EImageBW8())
stitcher.FinalizeIncrementalStitching(output)
```
