1. 添加依赖,官网地址

implementation ‘com.google.mlkit:image-labeling:17.0.5’
2.代码实现

class MainActivity : AppCompatActivity() {

    private val TAG = "MainActivity"

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        //从资源文件中获取 Drawable
        val drawable : Drawable = resources.getDrawable(R.drawable.cat)
        //将Drawable转化为bitmap
        val bitmapDrawable : BitmapDrawable = drawable as BitmapDrawable
        val bitmap : Bitmap = bitmapDrawable.bitmap
        //调用API识别图片
        val image = InputImage.fromBitmap(bitmap,0)
        val labeler = ImageLabeling.getClient(ImageLabelerOptions.DEFAULT_OPTIONS)
        //获取结果,并且展示
        labeler.process(image).addOnSuccessListener { labels->
            Log.d(TAG, "onCreate: ${labels}")
        }
            .addOnFailureListener{ labeler -> }
    }
}

3.结果展示,是一个集合
在这里插入图片描述

小结:如果想要实现更多的照片识别,只需要获取他们的bitmap,然后调用API来转化,如果是一些其他方式获取图片,可以查看官方文档里有其他的转化方法。

更多推荐