@@ -14,37 +14,36 @@ import com.google.firebase.samples.apps.mlkit.kotlin.VisionProcessorBase
14
14
/* * Cloud Label Detector Demo. */
15
15
class CloudImageLabelingProcessor : VisionProcessorBase <List <FirebaseVisionCloudLabel >>() {
16
16
17
- private val detector: FirebaseVisionCloudLabelDetector
18
-
19
- init {
20
- val options = FirebaseVisionCloudDetectorOptions .Builder ()
21
- .setMaxResults(10 )
22
- .setModelType(FirebaseVisionCloudDetectorOptions .STABLE_MODEL )
23
- .build()
24
-
25
- detector = FirebaseVision .getInstance().getVisionCloudLabelDetector(options)
17
+ private val detector: FirebaseVisionCloudLabelDetector by lazy {
18
+ FirebaseVisionCloudDetectorOptions .Builder ()
19
+ .setMaxResults(10 )
20
+ .setModelType(FirebaseVisionCloudDetectorOptions .STABLE_MODEL )
21
+ .build().let { options ->
22
+ FirebaseVision .getInstance().getVisionCloudLabelDetector(options)
23
+ }
26
24
}
27
25
26
+
28
27
override fun detectInImage (image : FirebaseVisionImage ): Task <List <FirebaseVisionCloudLabel >> {
29
28
return detector.detectInImage(image)
30
29
}
31
30
32
31
override fun onSuccess (
33
- labels : List <FirebaseVisionCloudLabel >,
32
+ results : List <FirebaseVisionCloudLabel >,
34
33
frameMetadata : FrameMetadata ,
35
34
graphicOverlay : GraphicOverlay ) {
36
35
37
36
graphicOverlay.clear()
38
37
39
- Log .d(TAG , " cloud label size: ${labels .size} " )
38
+ Log .d(TAG , " cloud label size: ${results .size} " )
40
39
41
40
val labelsStr = ArrayList <String >()
42
- for (i in labels .indices) {
43
- val label = labels [i]
41
+ for (i in results .indices) {
42
+ val result = results [i]
44
43
45
- Log .d(TAG , " cloud label: $label " )
44
+ Log .d(TAG , " cloud label: $result " )
46
45
47
- label .label?.let {
46
+ result .label?.let {
48
47
labelsStr.add(it)
49
48
}
50
49
}
0 commit comments