/** * @file MaskRCNN.cpp * * @author btran * */ #include #include "MaskRCNN.hpp" namespace Ort { MaskRCNN::MaskRCNN(const uint16_t numClasses, // const std::string& modelPath, // const std::optional& gpuIdx, const std::optional>>& inputShapes) : ImageRecognitionOrtSessionHandlerBase(numClasses, modelPath, gpuIdx, inputShapes) { } MaskRCNN::~MaskRCNN() { } void MaskRCNN::preprocess(float* dst, // const float* src, // const int64_t targetImgWidth, // const int64_t targetImgHeight, // const int numChannels) const { for (int c = 0; c < numChannels; ++c) { for (int i = 0; i < targetImgHeight; ++i) { for (int j = 0; j < targetImgWidth; ++j) { dst[c * targetImgHeight * targetImgWidth + i * targetImgWidth + j] = src[i * targetImgWidth * numChannels + j * numChannels + c]; } } } } void MaskRCNN::preprocess(float* dst, // const cv::Mat& imgSrc, // const int64_t targetImgWidth, // const int64_t targetImgHeight, // const int numChannels) const { for (int i = 0; i < targetImgHeight; ++i) { for (int j = 0; j < targetImgWidth; ++j) { for (int c = 0; c < numChannels; ++c) { dst[c * targetImgHeight * targetImgWidth + i * targetImgWidth + j] = imgSrc.ptr(i, j)[c]; } } } } } // namespace Ort