Class: Google::Cloud::Vision::Annotation::Face::Features::Landmark

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/vision/annotation/face.rb

Overview

Landmark

A face-specific landmark (for example, a face feature). Landmark positions may fall outside the bounds of the image when the face is near one or more edges of the image. Therefore it is NOT guaranteed that 0 <= x < width or 0 <= y < height.

See Google::Cloud::Vision::Annotation::Face::Features and Google::Cloud::Vision::Annotation::Face.

Examples:

require "google/cloud/vision"

vision = Google::Cloud::Vision.new

image = vision.image "path/to/face.jpg"
face = image.face

face.features.to_h.count #=> 9
face.features.eyes.left.pupil
#<Landmark (x: 190.41544, y: 84.4557, z: -1.3682901)>
face.features.chin.center
#<Landmark (x: 233.21977, y: 189.47475, z: 19.487228)>

Instance Method Summary collapse

Instance Method Details

#to_aArray

Returns the object's property values as an array.

Returns:

  • (Array)


621
622
623
# File 'lib/google/cloud/vision/annotation/face.rb', line 621

def to_a
  [x, y, z]
end

#to_hHash

Converts object to a hash. All keys will be symbolized.

Returns:

  • (Hash)


630
631
632
# File 'lib/google/cloud/vision/annotation/face.rb', line 630

def to_h
  { x: x, y: y, z: z }
end

#typeString

The landmark type code.

Examples:

require "google/cloud/vision"

vision = Google::Cloud::Vision.new

image = vision.image "path/to/face.jpg"
face = image.face

face.features.forehead.type #=> :FOREHEAD_GLABELLA

Returns:

  • (String)

See Also:



582
583
584
# File 'lib/google/cloud/vision/annotation/face.rb', line 582

def type
  @grpc.type
end

#xFloat

The X (horizontal) coordinate.

Returns:

  • (Float)


591
592
593
594
# File 'lib/google/cloud/vision/annotation/face.rb', line 591

def x
  return nil unless @grpc.position
  @grpc.position.x
end

#yFloat

The Y (vertical) coordinate.

Returns:

  • (Float)


601
602
603
604
# File 'lib/google/cloud/vision/annotation/face.rb', line 601

def y
  return nil unless @grpc.position
  @grpc.position.y
end

#zFloat

The Z (depth) coordinate.

Returns:

  • (Float)


611
612
613
614
# File 'lib/google/cloud/vision/annotation/face.rb', line 611

def z
  return nil unless @grpc.position
  @grpc.position.z
end