Class: Google::Cloud::Vision::Annotation::Text::Page::Word
- Inherits:
-
Object
- Object
- Google::Cloud::Vision::Annotation::Text::Page::Word
- Defined in:
- lib/google/cloud/vision/annotation/text.rb
Overview
Word
A word representation. See Paragraph.
Instance Method Summary collapse
-
#bounds ⇒ Array<Vertex>
The bounding box for the word.
-
#break_type ⇒ ::Symbol
The type of a detected break at the start or end of the page.
-
#languages ⇒ Array<Language>
A list of detected languages together with confidence.
-
#prefix_break? ⇒ Boolean
True if a detected break prepends the page.
-
#symbols ⇒ Array<Symbol>
List of symbols in the word.
-
#to_h ⇒ Hash
Deeply converts object to a hash.
Instance Method Details
#bounds ⇒ Array<Vertex>
The bounding box for the word. The vertices are in the order of top-left, top-right, bottom-right, bottom-left. When a rotation of the bounding box is detected the rotation is represented as around the top-left corner as defined when the text is read in the 'natural' orientation. For example:
- when the text is horizontal it might look like: 0----1 | | 3----2
- when rotated 180 degrees around the top-left corner it becomes: 2----3 | | 1----0 and the vertice order will still be (0, 1, 2, 3).
750 751 752 753 754 755 |
# File 'lib/google/cloud/vision/annotation/text.rb', line 750 def bounds return [] unless @grpc.bounding_box @bounds ||= Array(@grpc.bounding_box.vertices).map do |v| Vertex.from_grpc v end end |
#break_type ⇒ ::Symbol
The type of a detected break at the start or end of the page.
712 713 714 715 716 |
# File 'lib/google/cloud/vision/annotation/text.rb', line 712 def break_type return nil if @grpc.property.nil? @grpc.property.detected_break && @grpc.property.detected_break.type.to_sym end |
#languages ⇒ Array<Language>
A list of detected languages together with confidence.
699 700 701 702 703 704 705 |
# File 'lib/google/cloud/vision/annotation/text.rb', line 699 def languages return [] if @grpc.property.nil? detected_languages = @grpc.property.detected_languages @languages ||= Array(detected_languages).map do |l| Language.from_grpc l end end |
#prefix_break? ⇒ Boolean
True if a detected break prepends the page.
723 724 725 726 727 |
# File 'lib/google/cloud/vision/annotation/text.rb', line 723 def prefix_break? return nil if @grpc.property.nil? @grpc.property.detected_break && @grpc.property.detected_break.is_prefix end |
#symbols ⇒ Array<Symbol>
List of symbols in the word. The order of the symbols follows the natural reading order.
763 764 765 766 767 |
# File 'lib/google/cloud/vision/annotation/text.rb', line 763 def symbols @symbols ||= Array(@grpc.symbols).map do |b| Symbol.from_grpc b end end |
#to_h ⇒ Hash
Deeply converts object to a hash. All keys will be symbolized.
774 775 776 777 778 |
# File 'lib/google/cloud/vision/annotation/text.rb', line 774 def to_h { languages: languages.map(&:to_h), break_type: break_type, prefix_break: prefix_break?, bounds: bounds.map(&:to_h), symbols: symbols.map(&:to_h) } end |