Class: Elrio::CapInsetDetector

Inherits:
Object
  • Object
show all
Defined in:
lib/elrio/cap_inset_detector.rb

Instance Method Summary collapse

Constructor Details

#initialize(pattern_detector = PatternDetector.new) ⇒ CapInsetDetector

Returns a new instance of CapInsetDetector.



3
4
5
# File 'lib/elrio/cap_inset_detector.rb', line 3

def initialize(pattern_detector = PatternDetector.new)
  @pattern_detector = pattern_detector
end

Instance Method Details

#detect_cap_insets(image) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/elrio/cap_inset_detector.rb', line 7

def detect_cap_insets(image)
  columns = (0...image.width).map { |x| image.column(x) }
  rows = (0...image.height).map { |y| image.row(y) }

  horizontal_pattern = @pattern_detector.detect_pattern(columns)
  vertical_pattern = @pattern_detector.detect_pattern(rows)

  Insets.new(
    vertical_pattern.start,
    horizontal_pattern.start,
    vertical_pattern.end,
    horizontal_pattern.end,
    horizontal_pattern.size,
    vertical_pattern.size
  )
end