@@ -152,8 +152,9 @@ StatusOr<FrameBuffer> ImageTransformer::Transform(
152152 return InferWithFallback (frame_buffer, roi);
153153}
154154
155- StatusOr<std::unique_ptr<FrameBuffer>> ImageTransformer::Postprocess () {
156- std::unique_ptr<FrameBuffer> postprocessed_frame_buffer;
155+ StatusOr<FrameBuffer> ImageTransformer::Postprocess (
156+ const std::vector<const TfLiteTensor*>& /* output_tensors*/ ,
157+ const FrameBuffer& /* frame_buffer*/ , const BoundingBox& /* roi*/ ) {
157158 const int kRgbPixelBytes = 3 ;
158159 const TfLiteTensor* output_tensor =
159160 TfLiteEngine::GetOutput (GetTfLiteEngine ()->interpreter (), 0 );
@@ -171,9 +172,9 @@ StatusOr<std::unique_ptr<FrameBuffer>> ImageTransformer::Postprocess() {
171172 " Size mismatch or unsupported padding bytes between pixel data "
172173 " and output tensor." );
173174 }
174-
175- postprocessed_data.insert (postprocessed_data.end (), &output_tensor [0 ],
176- &output_tensor [output_byte_size / sizeof (uint8)]);
175+ const uint8* output_data = AssertAndReturnTypedTensor<uint8>(output_tensor);
176+ postprocessed_data.insert (postprocessed_data.end (), &output_data [0 ],
177+ &output_data [output_byte_size / sizeof (uint8)]);
177178 } else { // Denormalize to [0, 255] range.
178179 if (output_tensor->bytes / sizeof (float ) !=
179180 output_byte_size / sizeof (uint8)) {
@@ -213,11 +214,12 @@ StatusOr<std::unique_ptr<FrameBuffer>> ImageTransformer::Postprocess() {
213214 /* buffer=*/ postprocessed_data.data (),
214215 /* stride=*/ {output_tensor->dims ->data [2 ] * kRgbPixelBytes ,
215216 kRgbPixelBytes }};
216- postprocessed_frame_buffer = FrameBuffer::Create (
217+ auto postprocessed_frame_buffer = FrameBuffer::Create (
217218 {postprocessed_plane}, to_buffer_dimension, FrameBuffer::Format::kRGB ,
218219 FrameBuffer::Orientation::kTopLeft );
219220
220- return postprocessed_frame_buffer;
221+ FrameBuffer postprocessed_result = *postprocessed_frame_buffer.get ();
222+ return postprocessed_result;
221223}
222224} // namespace vision
223225} // namespace task
0 commit comments