diff options
author | Moritz Pflanzer <moritz.pflanzer@arm.com> | 2017-09-24 12:09:41 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:35:24 +0000 |
commit | 6c6597c1e17c32c6ad861780eee454a7deecfb75 (patch) | |
tree | 5df015557262a83e5e84a5fa365544bb1aa66762 /tests/validation/Helpers.cpp | |
parent | c26ecf8ca13205cab2ce43d9f971e1569808e5bc (diff) | |
download | ComputeLibrary-6c6597c1e17c32c6ad861780eee454a7deecfb75.tar.gz |
COMPMID-500: Move HarrisCorners to new validation
Change-Id: I4e21ad98d029e360010c5927f04b716527700a00
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/88888
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Diffstat (limited to 'tests/validation/Helpers.cpp')
-rw-r--r-- | tests/validation/Helpers.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/validation/Helpers.cpp b/tests/validation/Helpers.cpp index d3bcbbd9e4..23ad62a6c3 100644 --- a/tests/validation/Helpers.cpp +++ b/tests/validation/Helpers.cpp @@ -29,6 +29,48 @@ namespace test { namespace validation { +void fill_mask_from_pattern(uint8_t *mask, int cols, int rows, MatrixPattern pattern) +{ + unsigned int v = 0; + std::mt19937 gen(library->seed()); + std::bernoulli_distribution dist(0.5); + + for(int r = 0; r < rows; ++r) + { + for(int c = 0; c < cols; ++c, ++v) + { + uint8_t val = 0; + + switch(pattern) + { + case MatrixPattern::BOX: + val = 255; + break; + case MatrixPattern::CROSS: + val = ((r == (rows / 2)) || (c == (cols / 2))) ? 255 : 0; + break; + case MatrixPattern::DISK: + val = (((r - rows / 2.0f + 0.5f) * (r - rows / 2.0f + 0.5f)) / ((rows / 2.0f) * (rows / 2.0f)) + ((c - cols / 2.0f + 0.5f) * (c - cols / 2.0f + 0.5f)) / ((cols / 2.0f) * + (cols / 2.0f))) <= 1.0f ? 255 : 0; + break; + case MatrixPattern::OTHER: + val = (dist(gen) ? 0 : 255); + break; + default: + return; + } + + mask[v] = val; + } + } + + if(pattern == MatrixPattern::OTHER) + { + std::uniform_int_distribution<uint8_t> distribution_u8(0, ((cols * rows) - 1)); + mask[distribution_u8(gen)] = 255; + } +} + TensorShape calculate_depth_concatenate_shape(const std::vector<TensorShape> &input_shapes) { ARM_COMPUTE_ERROR_ON(input_shapes.empty()); @@ -52,6 +94,24 @@ TensorShape calculate_depth_concatenate_shape(const std::vector<TensorShape> &in return out_shape; } + +HarrisCornersParameters harris_corners_parameters() +{ + HarrisCornersParameters params; + + std::mt19937 gen(library->seed()); + std::uniform_real_distribution<float> threshold_dist(0.f, 0.01f); + std::uniform_real_distribution<float> sensitivity(0.04f, 0.15f); + std::uniform_real_distribution<float> euclidean_distance(0.f, 30.f); + std::uniform_int_distribution<uint8_t> int_dist(0, 255); + + params.threshold = threshold_dist(gen); + params.sensitivity = sensitivity(gen); + params.min_dist = euclidean_distance(gen); + params.constant_border_value = int_dist(gen); + + return params; +} } // namespace validation } // namespace test } // namespace arm_compute |