Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 34 lines (29 sloc) 1.042 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
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.matte = false
        puts "Found similar region. Writing `find_similar_region.gif'..."
        img.write('find_similar_region.gif')
    else
        puts "No match!"
    end
rescue NotImplementedError
    $stderr.puts <<-END_MSG
The find_similar_region method is not supported by this version of
ImageMagick/GraphicsMagick.
END_MSG
end

exit
Something went wrong with that request. Please try again.