getResult method
Processa as saídas do modelo para gerar o resultado de classificação Retorna um ClassificationResult contendo os resultados da classificação.
Implementation
ClassificationResult getResult(
List<TensorData> outputs,
Uint8List originalImageBytes,
) {
final out = outputs[0];
// Converte o buffer de bytes do tensor para Float32List de forma segura
final bd = ByteData.sublistView(out.data);
final floatCount = bd.lengthInBytes ~/ 4;
final floatData = Float32List(floatCount);
for (var i = 0; i < floatCount; i++) {
floatData[i] = bd.getFloat32(i * 4, Endian.little);
}
// Cria uma lista de probabilidades em double
final probabilities = floatData.map((e) => e.toDouble()).toList();
final (maxIndex, maxProb) = getMaxIndexAndProb(probabilities);
return ClassificationResult(
originalImage: originalImageBytes,
label: labels[maxIndex],
confidence: maxProb,
allProbabilities: probabilities,
timestamp: DateTime.now(),
);
}