diff options
Diffstat (limited to 'tensorflow/examples/android/src/org/tensorflow/demo/RecognitionScoreView.java')
-rw-r--r-- | tensorflow/examples/android/src/org/tensorflow/demo/RecognitionScoreView.java | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tensorflow/examples/android/src/org/tensorflow/demo/RecognitionScoreView.java b/tensorflow/examples/android/src/org/tensorflow/demo/RecognitionScoreView.java new file mode 100644 index 0000000000..961b492a8d --- /dev/null +++ b/tensorflow/examples/android/src/org/tensorflow/demo/RecognitionScoreView.java @@ -0,0 +1,53 @@ +package org.tensorflow.demo; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.util.AttributeSet; +import android.util.TypedValue; +import android.view.View; + +import org.tensorflow.demo.Classifier.Recognition; + +import java.util.List; + +public class RecognitionScoreView extends View { + private static final float TEXT_SIZE_DIP = 24; + private List<Recognition> results; + private final float textSizePx; + private final Paint fgPaint; + private final Paint bgPaint; + + public RecognitionScoreView(final Context context, final AttributeSet set) { + super(context, set); + + textSizePx = + TypedValue.applyDimension( + TypedValue.COMPLEX_UNIT_DIP, TEXT_SIZE_DIP, getResources().getDisplayMetrics()); + fgPaint = new Paint(); + fgPaint.setTextSize(textSizePx); + + bgPaint = new Paint(); + bgPaint.setColor(0xcc4285f4); + } + + public void setResults(final List<Recognition> results) { + this.results = results; + postInvalidate(); + } + + @Override + public void onDraw(final Canvas canvas) { + final int x = 10; + int y = (int) (fgPaint.getTextSize() * 1.5f); + + canvas.drawPaint(bgPaint); + + if (results != null) { + for (final Recognition recog : results) { + canvas.drawText(recog.getTitle() + ": " + recog.getConfidence(), x, y, fgPaint); + y += fgPaint.getTextSize() * 1.5f; + } + } + } +} |