рдлрд╛рдпрд░рдмреЗрд╕ рдПрдордПрд▓ рдХрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдорд╛рдирд╡реАрдп рднрд╛рд╡рдирд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди

рдлрд╛рдпрд░рдмреЗрд╕ рдПрдордПрд▓ рдХрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдорд╛рдирд╡реАрдп рднрд╛рд╡рдирд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди


рдпрджрд┐ рдЖрдкрдиреЗ Google I / O рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рд╣реИ (рдпрд╛ рдХрдо рд╕реЗ рдХрдо Keynotes рдХреЛ рджреЗрдЦрд╛ рд╣реИ), рддреЛ рдЖрдкрдиреЗ Firebase рдордВрдЪ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдирдП рдЙрддреНрдкрд╛рдж рдХреА рдШреЛрд╖рдгрд╛ рдкрд░ рдЧреМрд░ рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ ML рдХрд┐рдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред


рдПрдордПрд▓ рдХрд┐рдЯ рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ (рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдЖрдИрдУрдПрд╕ рджреЛрдиреЛрдВ) рдореЗрдВ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рдЖрдк рдПрдХ рдЕрдиреБрднрд╡реА рдорд╢реАрди рд╕реАрдЦрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░ рд╣реЛрдВ рдпрд╛ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдмрд╕ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВред


рдпрджреНрдпрдкрд┐ рдпрд╣ рдЙрддреНрдкрд╛рдж рд╕рдореНрдореЗрд▓рди (рдзреНрдпрд╛рди, Google рдбреБрдкреНрд▓реЗрдХреНрд╕) рдкрд░ рдзреНрдпрд╛рди рдХрд╛ рдХреЗрдВрджреНрд░ рдирд╣реАрдВ рдмрди рдкрд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдВрдбреНрд░реЙрдЗрдб рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрдИ рдЙрдкрдпреЛрдЧреА рддрд░реАрдХреЗ рд╣реИрдВред


рддреЛ рдЪрд▓реЛ рдЙрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдЫреЛрдЯрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ Google рд▓реЗрдВрд╕ рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛ (рд▓рдЧрднрдЧ)!


рдпрд╣рд╛рдБ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдХреБрдЫ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реИрдВред рдЙрди рдкрд░ рдЖрдк рдЫрд╡рд┐ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред


рд╣реЗрдбрдлреЛрди рдорд╛рдиреНрдпрддрд╛ 1


рд╣реЗрдбрдлреЛрди рдорд╛рдиреНрдпрддрд╛ 2


рдмрд╣реБрдд рд╕рдЯреАрдХ, рд╣реБрд╣?
рдЖрдк рдЗрд╕ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдирд╡реАрдп рднрд╛рд╡рдирд╛рдУрдВ рдЬреИрд╕реЗ рдХрд┐ рдЦреБрд╢реА, рдЙрджрд╛рд╕реА, рдХреНрд░реЛрдз рдЖрджрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдФрд░ рднреА рдардВрдбрд╛ рд╣реИред


рдмрд╛рдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЛ, рдореБрдЭреЗ рдХреЛрдб рджрд┐рдЦрд╛рдУ !!!!!


рдПрдордПрд▓ рдХрд┐рдЯ рдореЗрдВ 5 рдПрдкреАрдЖрдИ рд╣реИрдВ:


  1. рдЯреЗрдХреНрд╕реНрдЯ рд░рд┐рдХрдЧреНрдирд┐рд╢рди (рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реИ)
  2. рдлреЗрд╕ рдбрд┐рдЯреЗрдХреНрд╢рди (рдРрд╕рд╛ рд▓реЗрдЦ рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдкрд░ рд╣реИ)
  3. рдмрд╛рд░рдХреЛрдб рд╕реНрдХреИрдирд┐рдВрдЧ
  4. рдЫрд╡рд┐ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рдкрд╣рдЪрд╛рди (рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ)
  5. рдЪрд░рд┐рддреНрд░ рдкрд╣рдЪрд╛рди

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЫрд╡рд┐ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╣рдЪрд╛рди рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдореЗрдВ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЫрд╡рд┐ рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рдЧрдпрд╛ рдерд╛: рд▓реЛрдЧ, рдЪреАрдЬреЗрдВ, рд╕реНрдерд╛рди, рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдВ, рдЖрджрд┐ред


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдПрдкреАрдЖрдИ рдХреЗ 2 рдкреНрд░рдХрд╛рд░ рд╣реИрдВред рдкрд╣рд▓рд╛ API рдЖрдкрдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╣реА рддрд╛рд░реНрдХрд┐рдХ рд╣реИред рдпрд╣ рдореБрдлрд╝реНрдд рд╣реИ рдФрд░ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ 400 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд╣рдЪрд╛рди рд╕рдХрддрд╛ рд╣реИред


рджреВрд╕рд░рд╛ рдХреНрд▓рд╛рдЙрдб рдПрдкреАрдЖрдИ рд╣реИ , рдЬреЛ Google рдХреНрд▓рд╛рдЙрдб рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ 10,000 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИред рдпрд╣ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐ рдорд╛рд╣ рдкрд╣рд▓реЗ 1000 рдЕрдиреБрд░реЛрдз рдореБрдлреНрдд рд╣реИрдВред


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдкреАрдЖрдИ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдореБрдлрд╝реНрдд рд╣реИ (рд▓реЗрдХрд┐рди рднреБрдЧрддрд╛рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдореБрдлрд╝реНрдд рдХреЗ рд╕рдорд╛рди рд╣реИ)ред


рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред


  • рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдлрд╛рдпрд░рдмреЗрд╕ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ firebase-ml-vision рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝реЗрдВ
    Firebase рдХреЛ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдЖрдк Google рд╕реЗ рдПрдХ рдЕрдЪреНрдЫреЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрдЪрд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рднреА рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:

 implementation 'com.google.firebase:firebase-ml-vision:15.0.0' implementation 'com.google.firebase:firebase-ml-vision-image-label-model:15.0.0' 

  • рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдХреИрдорд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдПрдореНрдмреЗрдб рдХрд░реЗрдВ
    рд╡рд┐рдЬрд╝рди рдПрдкреАрдЖрдИ рдХреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрд╡рд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╛ рддреЛ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ рдЬреЛ рдЖрдкрдХреЛ рдЧреИрд▓рд░реА рд╕реЗ рдЪрд┐рддреНрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рдРрд╕рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЫрд╡рд┐ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдорд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рддреБрд░рдВрдд рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИред
    рдпрджрд┐ рдЖрдк рдорд╛рдирдХ рдХреИрдорд░рд╛ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд╕ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рд░рд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


  • рд╡рд┐рдЬрд╝рди рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдЯрдореИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
    рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реАрдзреЗ рдЫрд╡рд┐ рдмрд┐рдЯрдореИрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



 fab_take_photo.setOnClickListener { // cameraView is a custom View which provides camera preview cameraView.captureImage { cameraKitImage -> // Get the Bitmap from the captured shot and use it to make the API call getLabelsFromDevice(cameraKitImage.bitmap) } } private fun getLabelsFromDevice(bitmap: Bitmap) { val image : FirebaseVisionImage = FirebaseVisionImage.fromBitmap(bitmap) val detector : FirebaseVisionLabelDetector = FirebaseVision.getInstance().visionLabelDetector detector.detectInImage(image) .addOnSuccessListener { // Task completed successfully for(firebaseVision : FirebaseVisionLabel in it){ // Logging through the list of labels returned from the API and Log them Log.d(TAG,"Item Name ${firebaseVision.confidence}") Log.d(TAG,"Confidence ${firebaseVision.confidence}") } } .addOnFailureListener { // Task failed with an exception Toast.makeText(baseContext,"Sorry, something went wrong!",Toast.LENGTH_SHORT).show() } } 

рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рдмрд┐рдЯрдореИрдк рд╕реЗ рдПрдХ FirebaseVisionImage рдмрдирд╛рддреЗ рд╣реИрдВред


рдлрд┐рд░ рд╣рдо FirebaseVisionLabelDetector рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ FirebaseVisionLabelDetector рд╕реЗ рд╣реЛрдХрд░ рдЧреБрдЬрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ FirebaseVisionLabels (рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕) рдХреЛ рдЦреЛрдЬрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдЫрд╡рд┐ рдореЗрдВ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИред


рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЗрдореЗрдЬ рдХреЛ detectInImage() рд╡рд┐рдзрд┐ рд╕реЗ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЛ рдЗрдореЗрдЬ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рджреЗрддреЗ рд╣реИрдВред


рд╣рдо рд╕рдлрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдФрд░ рдЕрд╕рдлрд▓ рдХреЗ рд▓рд┐рдП рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣рд╛рдВ рд╣рдореЗрдВ рдЫрд╡рд┐ рдореЗрдВ рдкрд╣рдЪрд╛рдиреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдФрд░ рдХреНрд░рдорд╢рдГ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЕрдкрд╡рд╛рджреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред


рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕рдХрд╛ рдирд╛рдо, рдорд╛рдиреНрдпрддрд╛ рд╕рдЯреАрдХрддрд╛ рдФрд░ рдЗрдХрд╛рдИ рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдЫрд╡рд┐ рдореЗрдВ рдорд╛рдирд╡реАрдп рднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


рдорд╛рдирд╡реАрдп рднрд╛рд╡рдирд╛рдПрдБ


рднрд╛рд╡рдирд╛ рдорд╛рдиреНрдпрддрд╛ рез


рднрд╛рд╡рдирд╛ рдорд╛рдиреНрдпрддрд╛ реи


рдХреНрд▓рд╛рдЙрдб рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЙрд╕ рдХреЛрдб рдХреЗ рд╕рдорд╛рди рд╣реИ рдЬреЛ рд╣рдордиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдерд╛ред рдХреЗрд╡рд▓ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ ( FirebaseVisionCloudLabelDetector рдмрдирд╛рдо FirebaseVisionLabelDetector ) рдФрд░ рдкрд╣рдЪрд╛рдиреА рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкреНрд░рдХрд╛рд░ ( FirebaseVisionCloudLabel рдмрдирд╛рдо FirebaseVisionLabels ) FirebaseVisionLabels :


 private fun getLabelsFromDevice(bitmap: Bitmap) { ... val detector : FirebaseVisionCloudLabelDetector = FirebaseVision.getInstance().visionCloudLabelDetector detector.detectInImage(image) .addOnSuccessListener { for(firebaseVision : FirebaseVisionCloudLabel in it){ ... } } .addOnFailureListener { ... } } 

рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓рд┐рдВрдЧ (рднреБрдЧрддрд╛рди) рдХреЛ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЕрдкрдиреЗ Google рдХреНрд▓рд╛рдЙрдб рдХрдВрд╕реЛрд▓ рдореЗрдВ Google рд╡рд┐рдЬрд╝рди рдПрдкреАрдЖрдИ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдкреАрдЖрдИ рдЖрдкрдХреЛ рдкреНрд░рддрд┐ рдорд╛рд╣ рдХреЗрд╡рд▓ 1000 рдореБрдлреНрдд рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред


рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

Source: https://habr.com/ru/post/hi420085/


All Articles