库中的现有类实现接口

时间:2013-11-18 06:53:41

标签: c++ opencv

我正在开发一种需要检测不同类型的跟踪代码(条形码,qr代码,RFID等)的软件。我创建了一个接口TrackingIdentifier,它将由BarcodeIdentifierQRCodeIdentifierRFIDIdentifier等实现。对于条形码和qrcode,检测算法的输入将为cv: :Mat& image。但对于RFID来说,它将是另一回事。代码将是这样的:

class TrackingIdentifier{

public:
virtual std::string getTrackingCode(ITrackingInfoHolder *holder) = 0;
};

现有的cv::Mat可以实现此ITrackingInfoHolder吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Adapter Pattern

struct MatInfo : ITrackingInfoHolder {
    info getInfo() override {
        return mat....();  // delegate to cv::Mat implementation
    }

private:
    cv::Mat mat;
};