MLECO-929 Add Object Detection sample application using the public ArmNN C++ API

Change-Id: I14aa1b4b726212cffbefd6687203f93f936fa872
Signed-off-by: Éanna Ó Catháin <eanna.ocathain@arm.com>
diff --git a/samples/ObjectDetection/include/CvWindowOutput.hpp b/samples/ObjectDetection/include/CvWindowOutput.hpp
new file mode 100644
index 0000000..317327b
--- /dev/null
+++ b/samples/ObjectDetection/include/CvWindowOutput.hpp
@@ -0,0 +1,53 @@
+//
+// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "IFrameOutput.hpp"
+#include <opencv2/opencv.hpp>
+
+namespace od
+{
+
+class CvWindowOutput : public IFrameOutput<cv::Mat> {
+public:
+
+    CvWindowOutput() = default;
+
+    ~CvWindowOutput() override = default;
+
+    /**
+     * @brief Creates a named window.
+     *
+     * Uses opencv to create a window with given name.
+     *
+     * @param windowName opencv window name.
+     *
+     */
+    void Init(const std::string& windowName);
+
+    /**
+     * Writes frame to the window.
+     *
+     * @param frame data to write.
+     */
+    void WriteFrame(std::shared_ptr<cv::Mat>& frame) override;
+
+    /**
+     * Releases all windows.
+     */
+    void Close() override;
+
+    /**
+     * Always true.
+     * @return true.
+     */
+    bool IsReady() const override;
+
+private:
+    std::string m_windowName;
+
+};
+}// namespace od
\ No newline at end of file