Method: Transformers::ImageUtils.load_image

Defined in:
lib/transformers/image_utils.rb

.load_image(image, timeout: nil) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/transformers/image_utils.rb', line 22

def self.load_image(image, timeout: nil)
  Utils.requires_backends(__method__, ["vision"])
  if image.is_a?(URI)
    require "open-uri"

    image = Vips::Image.new_from_buffer(image.read(open_timeout: timeout, read_timeout: timeout), "")
  elsif image.is_a?(String) && File.exist?(image)
    image = Vips::Image.new_from_file(image)
  elsif image.is_a?(Vips::Image)
    image = image
  else
    raise ArgumentError, "Incorrect format used for image"
  end
  image
end