Sha256: d13401b406074a79a1e7e087d9b7e0e046d8f6b7e51c94f36b840bd7fcc0c903

Contents?: true

Size: 1010 Bytes

Versions: 4

Compression:

Stored size: 1010 Bytes

Contents

require 'rmagick'

#   The Image#find_similar_region searches for a region in the image
#   similar to the target. This example uses a rectangle from the image
#   as the target, assuring that find_similar_region will succeed.

#   Draw a red rectangle over the image that shows where the target matched.

img = Magick::Image.read('../doc/ex/images/Flower_Hat.jpg').first
target = img.crop(21, 94, 118, 126)

begin
  res = img.find_similar_region(target)
  if res
    gc = Magick::Draw.new
    gc.stroke('red')
    gc.stroke_width(2)
    gc.fill('none')
    gc.rectangle(res[0], res[1], res[0] + target.columns, res[1] + target.rows)
    gc.draw(img)
    img.alpha(Magick::DeactivateAlphaChannel)
    puts "Found similar region. Writing `find_similar_region.gif'..."
    img.write('find_similar_region.gif')
  else
    puts 'No match!'
  end
rescue NotImplementedError
  warn <<-END_MSG
    The find_similar_region method is not supported by this version of
    ImageMagick/GraphicsMagick.
  END_MSG
end

exit

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rmagick-4.1.0.rc2 examples/find_similar_region.rb
rmagick-4.1.0.rc1 examples/find_similar_region.rb
rmagick-4.0.0 examples/find_similar_region.rb
rmagick-3.2.0 examples/find_similar_region.rb