# Image Stitching with a Reference Image

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;

// If a base image is required
stitcher.StitchWithReferenceImage(patchs, output, 1);
```

## 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();

stitcher.Stitch(patchs.ToArray(), output);

// If a base image is required
stitcher.StitchWithReferenceImage(patchs.ToArray(), output, 1);
```

## 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()

stitcher.Stitch(patchs, output)

# If a base image is required
stitcher.StitchWithReferenceImage(patchs, output, 1)
```
