class BlurFaces
Attributes
faces[RW]
Public Class Methods
new(fname=nil)
click to toggle source
# File lib/blurfaces.rb, line 13 def initialize(fname=nil) @df = DetectFaces.new read(fname) if fname end
Public Instance Methods
blur(strength: 8)
click to toggle source
# File lib/blurfaces.rb, line 20 def blur(strength: 8) @faces.each do |x, y, width, height| region = @img.dispatch(x, y, width, height, 'RGB') face_img = Magick::Image.constitute(width, height, "RGB", region) @img.composite!(face_img.gaussian_blur(0, strength), x, y, Magick::OverCompositeOp) end end
read(fname)
click to toggle source
# File lib/blurfaces.rb, line 34 def read(fname) @fname = fname @faces = @df.read(fname).faces @img = Magick::Image.read(fname)[0] self end
save(fname)
click to toggle source
# File lib/blurfaces.rb, line 44 def save(fname) @img.write(fname) end