diff options
Diffstat (limited to 'source/application/main/include/ImageUtils.hpp')
-rw-r--r-- | source/application/main/include/ImageUtils.hpp | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/source/application/main/include/ImageUtils.hpp b/source/application/main/include/ImageUtils.hpp deleted file mode 100644 index a8c7650..0000000 --- a/source/application/main/include/ImageUtils.hpp +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (c) 2022 Arm Limited. All rights reserved. - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef IMAGE_UTILS_HPP -#define IMAGE_UTILS_HPP - -#include <cstddef> -#include <cstdint> -#include <forward_list> -#include <vector> - -/* Helper macro to convert RGB888 to RGB565 format. */ -#define RGB888_TO_RGB565(R8,G8,B8) ((((R8>>3) & 0x1F) << 11) | \ - (((G8>>2) & 0x3F) << 5) | \ - ((B8>>3) & 0x1F)) - -constexpr uint16_t COLOR_BLACK = 0; -constexpr uint16_t COLOR_GREEN = RGB888_TO_RGB565( 0, 255, 0); // 2016; -constexpr uint16_t COLOR_YELLOW = RGB888_TO_RGB565(255, 255, 0); // 65504; - - -namespace arm { -namespace app { -namespace image { - - /** - * Contains the x,y co-ordinates of a box centre along with the box width and height. - */ - struct Box { - float x; - float y; - float w; - float h; - }; - - struct Detection { - Box bbox; - std::vector<float> prob; - float objectness; - }; - - /** - * @brief Calculate the 1D overlap. - * @param[in] x1Center First center point. - * @param[in] width1 First width. - * @param[in] x2Center Second center point. - * @param[in] width2 Second width. - * @return The overlap between the two lines. - **/ - float Calculate1DOverlap(float x1Center, float width1, float x2Center, float width2); - - /** - * @brief Calculate the intersection between the two given boxes. - * @param[in] box1 First box. - * @param[in] box2 Second box. - * @return The intersection value. - **/ - float CalculateBoxIntersect(Box& box1, Box& box2); - - /** - * @brief Calculate the union between the two given boxes. - * @param[in] box1 First box. - * @param[in] box2 Second box. - * @return The two given boxes union value. - **/ - float CalculateBoxUnion(Box& box1, Box& box2); - - /** - * @brief Calculate the intersection over union between the two given boxes. - * @param[in] box1 First box. - * @param[in] box2 Second box. - * @return The intersection over union value. - **/ - float CalculateBoxIOU(Box& box1, Box& box2); - - /** - * @brief Calculate the Non-Maxima suppression on the given detection boxes. - * @param[in] detections List of Detection boxes. - * @param[in] classes Number of classes. - * @param[in] iouThreshold Intersection over union threshold. - **/ - void CalculateNMS(std::forward_list<Detection>& detections, int classes, float iouThreshold); - - /** - * @brief Helper function to convert a UINT8 image to INT8 format. - * @param[in,out] data Pointer to the data start. - * @param[in] kMaxImageSize Total number of pixels in the image. - **/ - void ConvertImgToInt8(void* data, size_t kMaxImageSize); - - /** - * @brief Converts RGB image to grayscale. - * @param[in] srcPtr Pointer to RGB source image. - * @param[out] dstPtr Pointer to grayscale destination image. - * @param[in] imgSz Destination image size. - **/ - void RgbToGrayscale(const uint8_t* srcPtr, uint8_t* dstPtr, size_t dstImgSz); - -} /* namespace image */ -} /* namespace app */ -} /* namespace arm */ - -#endif /* IMAGE_UTILS_HPP */
\ No newline at end of file |