in ImageClassificationMobile/android/ImageClassifierStep2/app/src/main/java/com/google/devrel/imageclassifierstep2/MainActivity.kt [32:73]
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val localModel = LocalModel.Builder()
.setAssetFilePath("model.tflite")
.build()
val img: ImageView = findViewById(R.id.imageToLabel)
// assets folder image file name with extension
val fileName = "flower2.jpg"
// get bitmap from assets folder
val bitmap: Bitmap? = assetsToBitmap(fileName)
bitmap?.apply {
img.setImageBitmap(this)
}
val txtOutput : TextView = findViewById(R.id.txtOutput)
val btn: Button = findViewById(R.id.btnTest)
btn.setOnClickListener {
val options = CustomImageLabelerOptions.Builder(localModel)
.setConfidenceThreshold(0.7f)
.setMaxResultCount(5)
.build()
val labeler = ImageLabeling.getClient(options)
val image = InputImage.fromBitmap(bitmap!!, 0)
var outputText = ""
labeler.process(image)
.addOnSuccessListener { labels ->
// Task completed successfully
for (label in labels) {
val text = label.text
val confidence = label.confidence
outputText += "$text : $confidence\n"
//val index = label.index
}
txtOutput.text = outputText
}
.addOnFailureListener { e ->
// Task failed with an exception
// ...
}
}
}