286 CommandLineProcessor cmdline;
287 if (!cmdline.ProcessCommandLine(argc, argv))
291 const std::string imagePath(cmdline.GetInputFileName());
292 const std::string outputPath(cmdline.GetOutputFileName());
295 const unsigned int newWidth = cmdline.GetNewWidth();
296 const unsigned int newHeight = cmdline.GetNewHeight();
297 const unsigned int batchSize = 1;
300 using TContainer = mapbox::util::variant<std::vector<float>, std::vector<int>, std::vector<uint8_t>,
301 std::vector<int8_t>>;
302 std::vector<TContainer> imageDataContainers;
310 imagePath, newWidth, newHeight, normParams, batchSize, outputLayout));
314 imagePath, newWidth, newHeight, normParams, batchSize, outputLayout));
318 imagePath, newWidth, newHeight, normParams, batchSize, outputLayout));
323 imagePath, newWidth, newHeight, normParams, batchSize, outputLayout));
329 ARMNN_LOG(fatal) <<
"Failed to load image file " << imagePath <<
" with error: " << e.
what();
333 std::ofstream imageTensorFile;
334 imageTensorFile.open(outputPath, std::ofstream::out);
335 if (imageTensorFile.is_open())
337 mapbox::util::apply_visitor(
339 imageDataContainers[0]
342 if (!imageTensorFile)
344 ARMNN_LOG(fatal) <<
"Failed to write to output file" << outputPath;
345 imageTensorFile.close();
348 imageTensorFile.close();
352 ARMNN_LOG(fatal) <<
"Failed to open output file" << outputPath;
NormalizationParameters GetNormalizationParameters(const SupportedFrontend &modelFormat, const armnn::DataType &outputType)
Get normalization parameters.
virtual const char * what() const noexcept override
#define ARMNN_LOG(severity)
void WriteImageTensorImpl(const std::vector< ElemType > &imageData, std::ofstream &imageTensorFile)
Write image tensor to ofstream.
std::vector< uint8_t > PrepareImageTensor< uint8_t >(const std::string &imagePath, unsigned int newWidth, unsigned int newHeight, const NormalizationParameters &normParams, unsigned int batchSize, const armnn::DataLayout &outputLayout)
std::vector< int > PrepareImageTensor< int >(const std::string &imagePath, unsigned int newWidth, unsigned int newHeight, const NormalizationParameters &normParams, unsigned int batchSize, const armnn::DataLayout &outputLayout)
std::vector< int8_t > PrepareImageTensor< int8_t >(const std::string &imagePath, unsigned int newWidth, unsigned int newHeight, const NormalizationParameters &normParams, unsigned int batchSize, const armnn::DataLayout &outputLayout)
mapbox::util::variant< std::vector< float >, std::vector< int >, std::vector< unsigned char >, std::vector< int8_t > > TContainer
std::vector< float > PrepareImageTensor< float >(const std::string &imagePath, unsigned int newWidth, unsigned int newHeight, const NormalizationParameters &normParams, unsigned int batchSize, const armnn::DataLayout &outputLayout)