Идея состоит в том, чтобы создать интерфейс с именем ISomeGeneralImageType
.
Объявите набор методов, которые вам понадобятся для изображения (посмотрите на C # Image в качестве примера длячто вам, вероятно, понадобится)
Затем для каждого создаваемого вами типа изображения просто наследуйте интерфейс ISomeGeneralImageType
и реализуйте методы.
Способ, которым вы могли бы сделать это, - использовать инкапсуляцию, чтобы скрытьвсе сложные вещи, которые вы обычно делаете.
Например (я действительно не знаю реального интерфейса вашего объекта, это просто чтобы показать идею):
interface ISomeGeneralImageType
{
void SetHeight(int height);
Byte[] GetBitBuffer();
}
class ImageEMGU : ISomeGeneralImageType
{
private Image<T,T> innerImage;
public override Byte[] GetBitBuffer()
{
innerImage.GetMeSomeBits()
}
public override SetHeight(int height)
{
innerImage.EMGUHight(height);
}
}
ТогдаВы можете использовать свой фоновый детектор на любом изображении, которое реализует ваш интерфейс:
interface IBackgroundDetector
{
SomeGeneralImageType GetCurrentBackgroundFrame(ISomeGeneralImage CameraFrame);
}