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.
391 392 393 394 395 396 397 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 391 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.
404 405 406 407 408 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 404 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.
364 365 366 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 364 def confidence @grpc.landmarking_confidence end |
#ears ⇒ Ears
The landmarks of the ears.
415 416 417 418 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 415 def ears @ears ||= Ears.new self[:LEFT_EAR_TRAGION], self[:RIGHT_EAR_TRAGION] end |
#eyebrows ⇒ Eyebrows
The landmarks of the eyebrows.
425 426 427 428 429 430 431 432 433 434 435 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 425 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.
442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 442 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.
463 464 465 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 463 def forehead @forehead ||= self[:FOREHEAD_GLABELLA] end |
#lips ⇒ Lips
The landmarks of the lips.
472 473 474 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 472 def lips @lips ||= Lips.new self[:UPPER_LIP], self[:LOWER_LIP] end |
#mouth ⇒ Mouth
The landmarks of the mouth.
481 482 483 484 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 481 def mouth @mouth ||= Mouth.new self[:MOUTH_LEFT], self[:MOUTH_CENTER], self[:MOUTH_RIGHT] end |
#nose ⇒ Nose
The landmarks of the nose.
491 492 493 494 495 496 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 491 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.
503 504 505 506 507 508 |
# File 'lib/google/cloud/vision/annotation/face.rb', line 503 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 |