Class: Google::Cloud::Vision::Annotation::Face::Features
- Inherits:
-
Object
- Object
- Google::Cloud::Vision::Annotation::Face::Features
- Defined in:
- lib/google/cloud/vision/annotation/face.rb
Overview
Features
Represents facial landmarks or features. Left and right are defined
from the vantage of the viewer of the image, without considering
mirror projections typical of photos. So face.features.eyes.left
typically is the person's right eye.
Defined Under Namespace
Classes: Chin, Ears, Eye, Eyebrow, Eyebrows, Eyes, Landmark, Lips, Mouth, Nose
Instance Method Summary collapse
-
#[](landmark_type) ⇒ Landmark
Returns the facial landmark for the provided type code.
-
#chin ⇒ Chin
The landmarks of the chin.
-
#confidence ⇒ Float
The confidence of the facial landmarks detection.
-
#ears ⇒ Ears
The landmarks of the ears.
-
#eyebrows ⇒ Eyebrows
The landmarks of the eyebrows.
-
#eyes ⇒ Eyes
The landmarks of the eyes.
-
#forehead ⇒ Landmark
The landmark for the forehead glabella.
-
#lips ⇒ Lips
The landmarks of the lips.
-
#mouth ⇒ Mouth
The landmarks of the mouth.
-
#nose ⇒ Nose
The landmarks of the nose.
-
#to_h ⇒ Hash
Deeply converts object to a hash.
Instance Method Details
#[](landmark_type) ⇒ Landmark
Returns the facial landmark for the provided type code.
389 390 391 392 393 394 395 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 389 def [] landmark_type landmark = Array(@grpc.landmarks).detect do |l| l.type == landmark_type end return nil if landmark.nil? Landmark.from_grpc landmark end |
#chin ⇒ Chin
The landmarks of the chin.
402 403 404 405 406 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 402 def chin @chin ||= Chin.new self[:CHIN_LEFT_GONION], self[:CHIN_GNATHION], self[:CHIN_RIGHT_GONION] end |
#confidence ⇒ Float
The confidence of the facial landmarks detection.
362 363 364 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 362 def confidence @grpc.landmarking_confidence end |
#ears ⇒ Ears
The landmarks of the ears.
413 414 415 416 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 413 def ears @ears ||= Ears.new self[:LEFT_EAR_TRAGION], self[:RIGHT_EAR_TRAGION] end |
#eyebrows ⇒ Eyebrows
The landmarks of the eyebrows.
423 424 425 426 427 428 429 430 431 432 433 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 423 def eyebrows @eyebrows ||= begin left = Eyebrow.new self[:LEFT_OF_LEFT_EYEBROW], self[:LEFT_EYEBROW_UPPER_MIDPOINT], self[:RIGHT_OF_LEFT_EYEBROW] right = Eyebrow.new self[:LEFT_OF_RIGHT_EYEBROW], self[:RIGHT_EYEBROW_UPPER_MIDPOINT], self[:RIGHT_OF_RIGHT_EYEBROW] Eyebrows.new left, right end end |
#eyes ⇒ Eyes
The landmarks of the eyes.
440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 440 def eyes @eyes ||= begin left = Eye.new self[:LEFT_EYE_LEFT_CORNER], self[:LEFT_EYE_BOTTOM_BOUNDARY], self[:LEFT_EYE], self[:LEFT_EYE_PUPIL], self[:LEFT_EYE_TOP_BOUNDARY], self[:LEFT_EYE_RIGHT_CORNER] right = Eye.new self[:RIGHT_EYE_LEFT_CORNER], self[:RIGHT_EYE_BOTTOM_BOUNDARY], self[:RIGHT_EYE], self[:RIGHT_EYE_PUPIL], self[:RIGHT_EYE_TOP_BOUNDARY], self[:RIGHT_EYE_RIGHT_CORNER] Eyes.new left, right end end |
#forehead ⇒ Landmark
The landmark for the forehead glabella.
461 462 463 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 461 def forehead @forehead ||= self[:FOREHEAD_GLABELLA] end |
#lips ⇒ Lips
The landmarks of the lips.
470 471 472 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 470 def lips @lips ||= Lips.new self[:UPPER_LIP], self[:LOWER_LIP] end |
#mouth ⇒ Mouth
The landmarks of the mouth.
479 480 481 482 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 479 def mouth @mouth ||= Mouth.new self[:MOUTH_LEFT], self[:MOUTH_CENTER], self[:MOUTH_RIGHT] end |
#nose ⇒ Nose
The landmarks of the nose.
489 490 491 492 493 494 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 489 def nose @nose ||= Nose.new self[:NOSE_BOTTOM_LEFT], self[:NOSE_BOTTOM_CENTER], self[:NOSE_TIP], self[:MIDPOINT_BETWEEN_EYES], self[:NOSE_BOTTOM_RIGHT] end |
#to_h ⇒ Hash
Deeply converts object to a hash. All keys will be symbolized.
501 502 503 504 505 506 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 501 def to_h { confidence: confidence, chin: chin.to_h, ears: ears.to_h, eyebrows: eyebrows.to_h, eyes: eyes.to_h, forehead: forehead.to_h, lips: lips.to_h, mouth: mouth.to_h, nose: nose.to_h } end |