Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / samples / validation_app / PreprocessingOptions.hpp
1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4
5 #pragma once
6
7 enum class ResizeCropPolicy {
8     DoNothing,
9     Resize,
10     ResizeThenCrop,
11 };
12
13 struct PreprocessingOptions {
14     // Normal image channel values are 1 byte (0..255).
15     // But some topologies (i.e. YOLO) input values scaled to 0..1
16     bool scaleValuesTo01;
17
18     ResizeCropPolicy resizeCropPolicy;
19
20     // If resizeCropPolicy is ResizeThenCrop, these variables contain
21     // the size before cropping
22     size_t resizeBeforeCropX, resizeBeforeCropY;
23
24     PreprocessingOptions() : scaleValuesTo01(false), resizeCropPolicy(ResizeCropPolicy::DoNothing), resizeBeforeCropX(0), resizeBeforeCropY(0) { }
25
26     PreprocessingOptions(bool scaleValuesTo01, ResizeCropPolicy resizeCropPolicy, size_t resizeBeforeCropX = 0, size_t resizeBeforeCropY = 0)
27         : scaleValuesTo01(scaleValuesTo01), resizeCropPolicy(resizeCropPolicy), resizeBeforeCropX(resizeBeforeCropX), resizeBeforeCropY(resizeBeforeCropY) {
28     }
29 };