google-cloud-vision 0.20.2 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/google-cloud-vision.rb +14 -26
- data/lib/google/cloud/vision.rb +108 -91
- data/lib/google/cloud/vision/annotate.rb +23 -25
- data/lib/google/cloud/vision/annotation.rb +58 -77
- data/lib/google/cloud/vision/annotation/entity.rb +24 -27
- data/lib/google/cloud/vision/annotation/face.rb +131 -148
- data/lib/google/cloud/vision/annotation/properties.rb +25 -27
- data/lib/google/cloud/vision/annotation/safe_search.rb +13 -14
- data/lib/google/cloud/vision/annotation/text.rb +27 -29
- data/lib/google/cloud/vision/annotation/vertex.rb +4 -5
- data/lib/google/cloud/vision/image.rb +39 -46
- data/lib/google/cloud/vision/location.rb +8 -9
- data/lib/google/cloud/vision/project.rb +31 -37
- data/lib/google/cloud/vision/service.rb +46 -21
- data/lib/google/cloud/vision/v1/image_annotator_api.rb +22 -6
- data/lib/google/cloud/vision/version.rb +1 -1
- metadata +63 -7
@@ -27,10 +27,9 @@ module Google
|
|
27
27
|
# See {Annotation#faces} and {Annotation#face}.
|
28
28
|
#
|
29
29
|
# @example
|
30
|
-
# require "google/cloud"
|
30
|
+
# require "google/cloud/vision"
|
31
31
|
#
|
32
|
-
#
|
33
|
-
# vision = gcloud.vision
|
32
|
+
# vision = Google::Cloud::Vision.new
|
34
33
|
#
|
35
34
|
# image = vision.image "path/to/face.jpg"
|
36
35
|
#
|
@@ -39,13 +38,13 @@ module Google
|
|
39
38
|
#
|
40
39
|
class Face
|
41
40
|
##
|
42
|
-
# @private The FaceAnnotation
|
43
|
-
attr_accessor :
|
41
|
+
# @private The FaceAnnotation GRPC object.
|
42
|
+
attr_accessor :grpc
|
44
43
|
|
45
44
|
##
|
46
45
|
# @private Creates a new Face instance.
|
47
46
|
def initialize
|
48
|
-
@
|
47
|
+
@grpc = nil
|
49
48
|
end
|
50
49
|
|
51
50
|
##
|
@@ -54,7 +53,7 @@ module Google
|
|
54
53
|
# @return [Angles]
|
55
54
|
#
|
56
55
|
def angles
|
57
|
-
@angles ||= Angles.
|
56
|
+
@angles ||= Angles.from_grpc @grpc
|
58
57
|
end
|
59
58
|
|
60
59
|
##
|
@@ -64,7 +63,7 @@ module Google
|
|
64
63
|
# @return [Bounds]
|
65
64
|
#
|
66
65
|
def bounds
|
67
|
-
@bounds ||= Bounds.
|
66
|
+
@bounds ||= Bounds.from_grpc @grpc
|
68
67
|
end
|
69
68
|
|
70
69
|
##
|
@@ -74,7 +73,7 @@ module Google
|
|
74
73
|
# @return [Features]
|
75
74
|
#
|
76
75
|
def features
|
77
|
-
@features ||= Features.
|
76
|
+
@features ||= Features.from_grpc @grpc
|
78
77
|
end
|
79
78
|
|
80
79
|
##
|
@@ -84,7 +83,7 @@ module Google
|
|
84
83
|
# @return [Likelihood]
|
85
84
|
#
|
86
85
|
def likelihood
|
87
|
-
@likelihood ||= Likelihood.
|
86
|
+
@likelihood ||= Likelihood.from_grpc @grpc
|
88
87
|
end
|
89
88
|
|
90
89
|
##
|
@@ -93,7 +92,7 @@ module Google
|
|
93
92
|
# @return [Float] A value in the range [0, 1].
|
94
93
|
#
|
95
94
|
def confidence
|
96
|
-
@
|
95
|
+
@grpc.detection_confidence
|
97
96
|
end
|
98
97
|
|
99
98
|
##
|
@@ -118,9 +117,9 @@ module Google
|
|
118
117
|
end
|
119
118
|
|
120
119
|
##
|
121
|
-
# @private New Annotation::Face from a
|
122
|
-
def self.
|
123
|
-
new.tap { |f| f.instance_variable_set :@
|
120
|
+
# @private New Annotation::Face from a GRPC object.
|
121
|
+
def self.from_grpc grpc
|
122
|
+
new.tap { |f| f.instance_variable_set :@grpc, grpc }
|
124
123
|
end
|
125
124
|
|
126
125
|
##
|
@@ -131,10 +130,9 @@ module Google
|
|
131
130
|
# See {Face}.
|
132
131
|
#
|
133
132
|
# @example
|
134
|
-
# require "google/cloud"
|
133
|
+
# require "google/cloud/vision"
|
135
134
|
#
|
136
|
-
#
|
137
|
-
# vision = gcloud.vision
|
135
|
+
# vision = Google::Cloud::Vision.new
|
138
136
|
#
|
139
137
|
# image = vision.image "path/to/face.jpg"
|
140
138
|
# face = image.face
|
@@ -145,13 +143,13 @@ module Google
|
|
145
143
|
#
|
146
144
|
class Angles
|
147
145
|
##
|
148
|
-
# @private The FaceAnnotation
|
149
|
-
attr_accessor :
|
146
|
+
# @private The FaceAnnotation GRPC object.
|
147
|
+
attr_accessor :grpc
|
150
148
|
|
151
149
|
##
|
152
150
|
# @private Creates a new Angles instance.
|
153
151
|
def initialize
|
154
|
-
@
|
152
|
+
@grpc = nil
|
155
153
|
end
|
156
154
|
|
157
155
|
##
|
@@ -162,7 +160,7 @@ module Google
|
|
162
160
|
# @return [Float] A value in the range [-180,180].
|
163
161
|
#
|
164
162
|
def roll
|
165
|
-
@
|
163
|
+
@grpc.roll_angle
|
166
164
|
end
|
167
165
|
|
168
166
|
##
|
@@ -173,7 +171,7 @@ module Google
|
|
173
171
|
# @return [Float] A value in the range [-180,180].
|
174
172
|
#
|
175
173
|
def yaw
|
176
|
-
@
|
174
|
+
@grpc.pan_angle
|
177
175
|
end
|
178
176
|
alias_method :pan, :yaw
|
179
177
|
|
@@ -184,7 +182,7 @@ module Google
|
|
184
182
|
# @return [Float] A value in the range [-180,180].
|
185
183
|
#
|
186
184
|
def pitch
|
187
|
-
@
|
185
|
+
@grpc.tilt_angle
|
188
186
|
end
|
189
187
|
alias_method :tilt, :pitch
|
190
188
|
|
@@ -218,10 +216,10 @@ module Google
|
|
218
216
|
end
|
219
217
|
|
220
218
|
##
|
221
|
-
# @private New Annotation::Face::Angles from a
|
219
|
+
# @private New Annotation::Face::Angles from a GRPC
|
222
220
|
# object.
|
223
|
-
def self.
|
224
|
-
new.tap { |f| f.instance_variable_set :@
|
221
|
+
def self.from_grpc grpc
|
222
|
+
new.tap { |f| f.instance_variable_set :@grpc, grpc }
|
225
223
|
end
|
226
224
|
end
|
227
225
|
|
@@ -233,10 +231,9 @@ module Google
|
|
233
231
|
# See {Face}.
|
234
232
|
#
|
235
233
|
# @example
|
236
|
-
# require "google/cloud"
|
234
|
+
# require "google/cloud/vision"
|
237
235
|
#
|
238
|
-
#
|
239
|
-
# vision = gcloud.vision
|
236
|
+
# vision = Google::Cloud::Vision.new
|
240
237
|
#
|
241
238
|
# image = vision.image "path/to/face.jpg"
|
242
239
|
# face = image.face
|
@@ -246,13 +243,13 @@ module Google
|
|
246
243
|
#
|
247
244
|
class Bounds
|
248
245
|
##
|
249
|
-
# @private The FaceAnnotation
|
250
|
-
attr_accessor :
|
246
|
+
# @private The FaceAnnotation GRPC object.
|
247
|
+
attr_accessor :grpc
|
251
248
|
|
252
249
|
##
|
253
250
|
# @private Creates a new Bounds instance.
|
254
251
|
def initialize
|
255
|
-
@
|
252
|
+
@grpc = nil
|
256
253
|
end
|
257
254
|
|
258
255
|
##
|
@@ -264,9 +261,9 @@ module Google
|
|
264
261
|
# generated in the BoundingPoly (the polygon will be unbounded) if
|
265
262
|
# only a partial face appears in the image to be annotated.
|
266
263
|
def head
|
267
|
-
return [] unless @
|
268
|
-
@head ||= Array(@
|
269
|
-
Vertex.
|
264
|
+
return [] unless @grpc.bounding_poly
|
265
|
+
@head ||= Array(@grpc.bounding_poly.vertices).map do |v|
|
266
|
+
Vertex.from_grpc v
|
270
267
|
end
|
271
268
|
end
|
272
269
|
|
@@ -277,9 +274,9 @@ module Google
|
|
277
274
|
# skin" visible in an image. It is not based on the landmarks, only
|
278
275
|
# on the initial face detection.
|
279
276
|
def face
|
280
|
-
return [] unless @
|
281
|
-
@face ||= Array(@
|
282
|
-
Vertex.
|
277
|
+
return [] unless @grpc.fd_bounding_poly
|
278
|
+
@face ||= Array(@grpc.fd_bounding_poly.vertices).map do |v|
|
279
|
+
Vertex.from_grpc v
|
283
280
|
end
|
284
281
|
end
|
285
282
|
|
@@ -312,10 +309,10 @@ module Google
|
|
312
309
|
end
|
313
310
|
|
314
311
|
##
|
315
|
-
# @private New Annotation::Face::Angles from a
|
312
|
+
# @private New Annotation::Face::Angles from a GRPC
|
316
313
|
# object.
|
317
|
-
def self.
|
318
|
-
new.tap { |f| f.instance_variable_set :@
|
314
|
+
def self.from_grpc grpc
|
315
|
+
new.tap { |f| f.instance_variable_set :@grpc, grpc }
|
319
316
|
end
|
320
317
|
end
|
321
318
|
|
@@ -333,10 +330,9 @@ module Google
|
|
333
330
|
# images.annotate Type
|
334
331
|
#
|
335
332
|
# @example
|
336
|
-
# require "google/cloud"
|
333
|
+
# require "google/cloud/vision"
|
337
334
|
#
|
338
|
-
#
|
339
|
-
# vision = gcloud.vision
|
335
|
+
# vision = Google::Cloud::Vision.new
|
340
336
|
#
|
341
337
|
# image = vision.image "path/to/face.jpg"
|
342
338
|
# face = image.face
|
@@ -349,13 +345,13 @@ module Google
|
|
349
345
|
#
|
350
346
|
class Features
|
351
347
|
##
|
352
|
-
# @private The FaceAnnotation
|
353
|
-
attr_accessor :
|
348
|
+
# @private The FaceAnnotation GRPC object.
|
349
|
+
attr_accessor :grpc
|
354
350
|
|
355
351
|
##
|
356
352
|
# @private Creates a new Features instance.
|
357
353
|
def initialize
|
358
|
-
@
|
354
|
+
@grpc = nil
|
359
355
|
end
|
360
356
|
|
361
357
|
##
|
@@ -364,7 +360,7 @@ module Google
|
|
364
360
|
# @return [Float] A value in the range [0,1].
|
365
361
|
#
|
366
362
|
def confidence
|
367
|
-
@
|
363
|
+
@grpc.landmarking_confidence
|
368
364
|
end
|
369
365
|
|
370
366
|
##
|
@@ -380,10 +376,9 @@ module Google
|
|
380
376
|
# @return [Landmark]
|
381
377
|
#
|
382
378
|
# @example
|
383
|
-
# require "google/cloud"
|
379
|
+
# require "google/cloud/vision"
|
384
380
|
#
|
385
|
-
#
|
386
|
-
# vision = gcloud.vision
|
381
|
+
# vision = Google::Cloud::Vision.new
|
387
382
|
#
|
388
383
|
# image = vision.image "path/to/face.jpg"
|
389
384
|
# face = image.face
|
@@ -392,11 +387,11 @@ module Google
|
|
392
387
|
# #=> #<Landmark (x: 303.81198, y: 88.5782, z: 77.719193)>
|
393
388
|
#
|
394
389
|
def [] landmark_type
|
395
|
-
landmark = Array(@
|
390
|
+
landmark = Array(@grpc.landmarks).detect do |l|
|
396
391
|
l.type == landmark_type
|
397
392
|
end
|
398
393
|
return nil if landmark.nil?
|
399
|
-
Landmark.
|
394
|
+
Landmark.from_grpc landmark
|
400
395
|
end
|
401
396
|
|
402
397
|
##
|
@@ -405,9 +400,9 @@ module Google
|
|
405
400
|
# @return [Chin]
|
406
401
|
#
|
407
402
|
def chin
|
408
|
-
@chin ||= Chin.new self[
|
409
|
-
self[
|
410
|
-
self[
|
403
|
+
@chin ||= Chin.new self[:CHIN_LEFT_GONION],
|
404
|
+
self[:CHIN_GNATHION],
|
405
|
+
self[:CHIN_RIGHT_GONION]
|
411
406
|
end
|
412
407
|
|
413
408
|
##
|
@@ -416,8 +411,8 @@ module Google
|
|
416
411
|
# @return [Ears]
|
417
412
|
#
|
418
413
|
def ears
|
419
|
-
@ears ||= Ears.new self[
|
420
|
-
self[
|
414
|
+
@ears ||= Ears.new self[:LEFT_EAR_TRAGION],
|
415
|
+
self[:RIGHT_EAR_TRAGION]
|
421
416
|
end
|
422
417
|
|
423
418
|
##
|
@@ -427,12 +422,12 @@ module Google
|
|
427
422
|
#
|
428
423
|
def eyebrows
|
429
424
|
@eyebrows ||= begin
|
430
|
-
left = Eyebrow.new self[
|
431
|
-
self[
|
432
|
-
self[
|
433
|
-
right = Eyebrow.new self[
|
434
|
-
self[
|
435
|
-
self[
|
425
|
+
left = Eyebrow.new self[:LEFT_OF_LEFT_EYEBROW],
|
426
|
+
self[:LEFT_EYEBROW_UPPER_MIDPOINT],
|
427
|
+
self[:RIGHT_OF_LEFT_EYEBROW]
|
428
|
+
right = Eyebrow.new self[:LEFT_OF_RIGHT_EYEBROW],
|
429
|
+
self[:RIGHT_EYEBROW_UPPER_MIDPOINT],
|
430
|
+
self[:RIGHT_OF_RIGHT_EYEBROW]
|
436
431
|
Eyebrows.new left, right
|
437
432
|
end
|
438
433
|
end
|
@@ -444,16 +439,16 @@ module Google
|
|
444
439
|
#
|
445
440
|
def eyes
|
446
441
|
@eyes ||= begin
|
447
|
-
left = Eye.new self[
|
448
|
-
self[
|
449
|
-
self[
|
450
|
-
self[
|
451
|
-
self[
|
452
|
-
right = Eye.new self[
|
453
|
-
self[
|
454
|
-
self[
|
455
|
-
self[
|
456
|
-
self[
|
442
|
+
left = Eye.new self[:LEFT_EYE_LEFT_CORNER],
|
443
|
+
self[:LEFT_EYE_BOTTOM_BOUNDARY],
|
444
|
+
self[:LEFT_EYE], self[:LEFT_EYE_PUPIL],
|
445
|
+
self[:LEFT_EYE_TOP_BOUNDARY],
|
446
|
+
self[:LEFT_EYE_RIGHT_CORNER]
|
447
|
+
right = Eye.new self[:RIGHT_EYE_LEFT_CORNER],
|
448
|
+
self[:RIGHT_EYE_BOTTOM_BOUNDARY],
|
449
|
+
self[:RIGHT_EYE], self[:RIGHT_EYE_PUPIL],
|
450
|
+
self[:RIGHT_EYE_TOP_BOUNDARY],
|
451
|
+
self[:RIGHT_EYE_RIGHT_CORNER]
|
457
452
|
Eyes.new left, right
|
458
453
|
end
|
459
454
|
end
|
@@ -464,7 +459,7 @@ module Google
|
|
464
459
|
# @return [Landmark]
|
465
460
|
#
|
466
461
|
def forehead
|
467
|
-
@forehead ||= self[
|
462
|
+
@forehead ||= self[:FOREHEAD_GLABELLA]
|
468
463
|
end
|
469
464
|
|
470
465
|
##
|
@@ -473,7 +468,7 @@ module Google
|
|
473
468
|
# @return [Lips]
|
474
469
|
#
|
475
470
|
def lips
|
476
|
-
@lips ||= Lips.new self[
|
471
|
+
@lips ||= Lips.new self[:UPPER_LIP], self[:LOWER_LIP]
|
477
472
|
end
|
478
473
|
|
479
474
|
##
|
@@ -482,8 +477,8 @@ module Google
|
|
482
477
|
# @return [Mouth]
|
483
478
|
#
|
484
479
|
def mouth
|
485
|
-
@mouth ||= Mouth.new self[
|
486
|
-
self[
|
480
|
+
@mouth ||= Mouth.new self[:MOUTH_LEFT], self[:MOUTH_CENTER],
|
481
|
+
self[:MOUTH_RIGHT]
|
487
482
|
end
|
488
483
|
|
489
484
|
##
|
@@ -492,10 +487,10 @@ module Google
|
|
492
487
|
# @return [Nose]
|
493
488
|
#
|
494
489
|
def nose
|
495
|
-
@nose ||= Nose.new self[
|
496
|
-
self[
|
497
|
-
self[
|
498
|
-
self[
|
490
|
+
@nose ||= Nose.new self[:NOSE_BOTTOM_LEFT],
|
491
|
+
self[:NOSE_BOTTOM_CENTER], self[:NOSE_TIP],
|
492
|
+
self[:MIDPOINT_BETWEEN_EYES],
|
493
|
+
self[:NOSE_BOTTOM_RIGHT]
|
499
494
|
end
|
500
495
|
|
501
496
|
##
|
@@ -523,10 +518,10 @@ module Google
|
|
523
518
|
end
|
524
519
|
|
525
520
|
##
|
526
|
-
# @private New Annotation::Face::Features from a
|
521
|
+
# @private New Annotation::Face::Features from a GRPC
|
527
522
|
# object.
|
528
|
-
def self.
|
529
|
-
new.tap { |f| f.instance_variable_set :@
|
523
|
+
def self.from_grpc grpc
|
524
|
+
new.tap { |f| f.instance_variable_set :@grpc, grpc }
|
530
525
|
end
|
531
526
|
|
532
527
|
##
|
@@ -540,10 +535,9 @@ module Google
|
|
540
535
|
# See {Features} and {Face}.
|
541
536
|
#
|
542
537
|
# @example
|
543
|
-
# require "google/cloud"
|
538
|
+
# require "google/cloud/vision"
|
544
539
|
#
|
545
|
-
#
|
546
|
-
# vision = gcloud.vision
|
540
|
+
# vision = Google::Cloud::Vision.new
|
547
541
|
#
|
548
542
|
# image = vision.image "path/to/face.jpg"
|
549
543
|
# face = image.face
|
@@ -556,13 +550,13 @@ module Google
|
|
556
550
|
#
|
557
551
|
class Landmark
|
558
552
|
##
|
559
|
-
# @private The Landmark
|
560
|
-
attr_accessor :
|
553
|
+
# @private The Landmark GRPC object.
|
554
|
+
attr_accessor :grpc
|
561
555
|
|
562
556
|
##
|
563
557
|
# @private Creates a new Landmark instance.
|
564
558
|
def initialize
|
565
|
-
@
|
559
|
+
@grpc = nil
|
566
560
|
end
|
567
561
|
|
568
562
|
##
|
@@ -574,10 +568,9 @@ module Google
|
|
574
568
|
# @return [String]
|
575
569
|
#
|
576
570
|
# @example
|
577
|
-
# require "google/cloud"
|
571
|
+
# require "google/cloud/vision"
|
578
572
|
#
|
579
|
-
#
|
580
|
-
# vision = gcloud.vision
|
573
|
+
# vision = Google::Cloud::Vision.new
|
581
574
|
#
|
582
575
|
# image = vision.image "path/to/face.jpg"
|
583
576
|
# face = image.face
|
@@ -585,7 +578,7 @@ module Google
|
|
585
578
|
# face.features.forehead.type #=> "FOREHEAD_GLABELLA"
|
586
579
|
#
|
587
580
|
def type
|
588
|
-
@
|
581
|
+
@grpc.type
|
589
582
|
end
|
590
583
|
|
591
584
|
##
|
@@ -594,8 +587,8 @@ module Google
|
|
594
587
|
# @return [Float]
|
595
588
|
#
|
596
589
|
def x
|
597
|
-
return nil unless @
|
598
|
-
@
|
590
|
+
return nil unless @grpc.position
|
591
|
+
@grpc.position.x
|
599
592
|
end
|
600
593
|
|
601
594
|
##
|
@@ -604,8 +597,8 @@ module Google
|
|
604
597
|
# @return [Float]
|
605
598
|
#
|
606
599
|
def y
|
607
|
-
return nil unless @
|
608
|
-
@
|
600
|
+
return nil unless @grpc.position
|
601
|
+
@grpc.position.y
|
609
602
|
end
|
610
603
|
|
611
604
|
##
|
@@ -614,8 +607,8 @@ module Google
|
|
614
607
|
# @return [Float]
|
615
608
|
#
|
616
609
|
def z
|
617
|
-
return nil unless @
|
618
|
-
@
|
610
|
+
return nil unless @grpc.position
|
611
|
+
@grpc.position.z
|
619
612
|
end
|
620
613
|
|
621
614
|
##
|
@@ -647,10 +640,10 @@ module Google
|
|
647
640
|
end
|
648
641
|
|
649
642
|
##
|
650
|
-
# @private New Annotation::Face::Features from a
|
643
|
+
# @private New Annotation::Face::Features from a GRPC
|
651
644
|
# object.
|
652
|
-
def self.
|
653
|
-
new.tap { |f| f.instance_variable_set :@
|
645
|
+
def self.from_grpc grpc
|
646
|
+
new.tap { |f| f.instance_variable_set :@grpc, grpc }
|
654
647
|
end
|
655
648
|
end
|
656
649
|
|
@@ -670,10 +663,9 @@ module Google
|
|
670
663
|
# @attr_reader [Landmark] right The chin, right gonion.
|
671
664
|
#
|
672
665
|
# @example
|
673
|
-
# require "google/cloud"
|
666
|
+
# require "google/cloud/vision"
|
674
667
|
#
|
675
|
-
#
|
676
|
-
# vision = gcloud.vision
|
668
|
+
# vision = Google::Cloud::Vision.new
|
677
669
|
#
|
678
670
|
# image = vision.image "path/to/face.jpg"
|
679
671
|
# face = image.face
|
@@ -742,10 +734,9 @@ module Google
|
|
742
734
|
# images.annotate Type
|
743
735
|
#
|
744
736
|
# @example
|
745
|
-
# require "google/cloud"
|
737
|
+
# require "google/cloud/vision"
|
746
738
|
#
|
747
|
-
#
|
748
|
-
# vision = gcloud.vision
|
739
|
+
# vision = Google::Cloud::Vision.new
|
749
740
|
#
|
750
741
|
# image = vision.image "path/to/face.jpg"
|
751
742
|
# face = image.face
|
@@ -811,10 +802,9 @@ module Google
|
|
811
802
|
# images.annotate Type
|
812
803
|
#
|
813
804
|
# @example
|
814
|
-
# require "google/cloud"
|
805
|
+
# require "google/cloud/vision"
|
815
806
|
#
|
816
|
-
#
|
817
|
-
# vision = gcloud.vision
|
807
|
+
# vision = Google::Cloud::Vision.new
|
818
808
|
#
|
819
809
|
# image = vision.image "path/to/face.jpg"
|
820
810
|
# face = image.face
|
@@ -883,10 +873,9 @@ module Google
|
|
883
873
|
# @attr_reader [Landmark] right The eyebrow, right.
|
884
874
|
#
|
885
875
|
# @example
|
886
|
-
# require "google/cloud"
|
876
|
+
# require "google/cloud/vision"
|
887
877
|
#
|
888
|
-
#
|
889
|
-
# vision = gcloud.vision
|
878
|
+
# vision = Google::Cloud::Vision.new
|
890
879
|
#
|
891
880
|
# image = vision.image "path/to/face.jpg"
|
892
881
|
# face = image.face
|
@@ -956,10 +945,9 @@ module Google
|
|
956
945
|
# @attr_reader [Eye] right The right eye.
|
957
946
|
#
|
958
947
|
# @example
|
959
|
-
# require "google/cloud"
|
948
|
+
# require "google/cloud/vision"
|
960
949
|
#
|
961
|
-
#
|
962
|
-
# vision = gcloud.vision
|
950
|
+
# vision = Google::Cloud::Vision.new
|
963
951
|
#
|
964
952
|
# image = vision.image "path/to/face.jpg"
|
965
953
|
# face = image.face
|
@@ -1031,10 +1019,9 @@ module Google
|
|
1031
1019
|
# @attr_reader [Landmark] right The eye, right corner.
|
1032
1020
|
#
|
1033
1021
|
# @example
|
1034
|
-
# require "google/cloud"
|
1022
|
+
# require "google/cloud/vision"
|
1035
1023
|
#
|
1036
|
-
#
|
1037
|
-
# vision = gcloud.vision
|
1024
|
+
# vision = Google::Cloud::Vision.new
|
1038
1025
|
#
|
1039
1026
|
# image = vision.image "path/to/face.jpg"
|
1040
1027
|
# face = image.face
|
@@ -1105,10 +1092,9 @@ module Google
|
|
1105
1092
|
# @attr_reader [Landmark] bottom The lower lip.
|
1106
1093
|
#
|
1107
1094
|
# @example
|
1108
|
-
# require "google/cloud"
|
1095
|
+
# require "google/cloud/vision"
|
1109
1096
|
#
|
1110
|
-
#
|
1111
|
-
# vision = gcloud.vision
|
1097
|
+
# vision = Google::Cloud::Vision.new
|
1112
1098
|
#
|
1113
1099
|
# image = vision.image "path/to/face.jpg"
|
1114
1100
|
# face = image.face
|
@@ -1179,10 +1165,9 @@ module Google
|
|
1179
1165
|
# @attr_reader [Landmark] right TThe mouth, right.
|
1180
1166
|
#
|
1181
1167
|
# @example
|
1182
|
-
# require "google/cloud"
|
1168
|
+
# require "google/cloud/vision"
|
1183
1169
|
#
|
1184
|
-
#
|
1185
|
-
# vision = gcloud.vision
|
1170
|
+
# vision = Google::Cloud::Vision.new
|
1186
1171
|
#
|
1187
1172
|
# image = vision.image "path/to/face.jpg"
|
1188
1173
|
# face = image.face
|
@@ -1254,10 +1239,9 @@ module Google
|
|
1254
1239
|
# @attr_reader [Landmark] right The nose, bottom right.
|
1255
1240
|
#
|
1256
1241
|
# @example
|
1257
|
-
# require "google/cloud"
|
1242
|
+
# require "google/cloud/vision"
|
1258
1243
|
#
|
1259
|
-
#
|
1260
|
-
# vision = gcloud.vision
|
1244
|
+
# vision = Google::Cloud::Vision.new
|
1261
1245
|
#
|
1262
1246
|
# image = vision.image "path/to/face.jpg"
|
1263
1247
|
# face = image.face
|
@@ -1327,10 +1311,9 @@ module Google
|
|
1327
1311
|
# images.annotate Likelihood
|
1328
1312
|
#
|
1329
1313
|
# @example
|
1330
|
-
# require "google/cloud"
|
1314
|
+
# require "google/cloud/vision"
|
1331
1315
|
#
|
1332
|
-
#
|
1333
|
-
# vision = gcloud.vision
|
1316
|
+
# vision = Google::Cloud::Vision.new
|
1334
1317
|
#
|
1335
1318
|
# image = vision.image "path/to/face.jpg"
|
1336
1319
|
# face = image.face
|
@@ -1340,23 +1323,23 @@ module Google
|
|
1340
1323
|
# face.likelihood.sorrow #=> "VERY_UNLIKELY"
|
1341
1324
|
#
|
1342
1325
|
class Likelihood
|
1343
|
-
POSITIVE_RATINGS = %
|
1326
|
+
POSITIVE_RATINGS = %i(POSSIBLE LIKELY VERY_LIKELY)
|
1344
1327
|
|
1345
1328
|
##
|
1346
|
-
# @private The FaceAnnotation
|
1347
|
-
attr_accessor :
|
1329
|
+
# @private The FaceAnnotation GRPC object.
|
1330
|
+
attr_accessor :grpc
|
1348
1331
|
|
1349
1332
|
##
|
1350
1333
|
# @private Creates a new Likelihood instance.
|
1351
1334
|
def initialize
|
1352
|
-
@
|
1335
|
+
@grpc = nil
|
1353
1336
|
end
|
1354
1337
|
|
1355
1338
|
##
|
1356
1339
|
# Joy likelihood rating. Possible values are `VERY_UNLIKELY`,
|
1357
1340
|
# `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
|
1358
1341
|
def joy
|
1359
|
-
@
|
1342
|
+
@grpc.joy_likelihood
|
1360
1343
|
end
|
1361
1344
|
|
1362
1345
|
##
|
@@ -1373,7 +1356,7 @@ module Google
|
|
1373
1356
|
# Sorrow likelihood rating. Possible values are `VERY_UNLIKELY`,
|
1374
1357
|
# `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
|
1375
1358
|
def sorrow
|
1376
|
-
@
|
1359
|
+
@grpc.sorrow_likelihood
|
1377
1360
|
end
|
1378
1361
|
|
1379
1362
|
##
|
@@ -1390,7 +1373,7 @@ module Google
|
|
1390
1373
|
# Joy likelihood rating. Possible values are `VERY_UNLIKELY`,
|
1391
1374
|
# `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
|
1392
1375
|
def anger
|
1393
|
-
@
|
1376
|
+
@grpc.anger_likelihood
|
1394
1377
|
end
|
1395
1378
|
|
1396
1379
|
##
|
@@ -1407,7 +1390,7 @@ module Google
|
|
1407
1390
|
# Surprise likelihood rating. Possible values are `VERY_UNLIKELY`,
|
1408
1391
|
# `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
|
1409
1392
|
def surprise
|
1410
|
-
@
|
1393
|
+
@grpc.surprise_likelihood
|
1411
1394
|
end
|
1412
1395
|
|
1413
1396
|
##
|
@@ -1425,7 +1408,7 @@ module Google
|
|
1425
1408
|
# `VERY_UNLIKELY`, `UNLIKELY`, `POSSIBLE`, `LIKELY`, and
|
1426
1409
|
# `VERY_LIKELY`.
|
1427
1410
|
def under_exposed
|
1428
|
-
@
|
1411
|
+
@grpc.under_exposed_likelihood
|
1429
1412
|
end
|
1430
1413
|
|
1431
1414
|
##
|
@@ -1442,7 +1425,7 @@ module Google
|
|
1442
1425
|
# Blurred likelihood rating. Possible values are `VERY_UNLIKELY`,
|
1443
1426
|
# `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
|
1444
1427
|
def blurred
|
1445
|
-
@
|
1428
|
+
@grpc.blurred_likelihood
|
1446
1429
|
end
|
1447
1430
|
|
1448
1431
|
##
|
@@ -1459,7 +1442,7 @@ module Google
|
|
1459
1442
|
# Headwear likelihood rating. Possible values are `VERY_UNLIKELY`,
|
1460
1443
|
# `UNLIKELY`, `POSSIBLE`, `LIKELY`, and `VERY_LIKELY`.
|
1461
1444
|
def headwear
|
1462
|
-
@
|
1445
|
+
@grpc.headwear_likelihood
|
1463
1446
|
end
|
1464
1447
|
|
1465
1448
|
##
|
@@ -1499,10 +1482,10 @@ module Google
|
|
1499
1482
|
end
|
1500
1483
|
|
1501
1484
|
##
|
1502
|
-
# @private New Annotation::Face::Likelihood from a
|
1485
|
+
# @private New Annotation::Face::Likelihood from a GRPC
|
1503
1486
|
# object.
|
1504
|
-
def self.
|
1505
|
-
new.tap { |f| f.instance_variable_set :@
|
1487
|
+
def self.from_grpc grpc
|
1488
|
+
new.tap { |f| f.instance_variable_set :@grpc, grpc }
|
1506
1489
|
end
|
1507
1490
|
end
|
1508
1491
|
end
|