class Elrio::CapInsetDetector

Public Class Methods

new(pattern_detector = PatternDetector.new) click to toggle source
# File lib/elrio/cap_inset_detector.rb, line 3
def initialize(pattern_detector = PatternDetector.new)
  @pattern_detector = pattern_detector
end

Public Instance Methods

detect_cap_insets(image) click to toggle source
# 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