#pragma once #include #include #include class IImage { public: virtual ~IImage(){} virtual unsigned char* data() = 0; virtual int width() = 0; virtual int height() = 0; virtual int type() = 0; virtual int stride() = 0; virtual int datasize() = 0; }; typedef std::shared_ptr IImagePtr; class IImagePair { public: IImagePair(IImagePtr imagef, IImagePtr imageb) { this->imagef = imagef; this->imageb = imageb; } IImagePtr imagef; IImagePtr imageb; }; typedef std::shared_ptr IImagePairPtr;