require 'rubygems' require 'opencv' face_detectors = %w( /usr/local/share/opencv/haarcascades/haarcascade_frontalface_default.xml ).collect { |fd| OpenCV::CvHaarClassifierCascade::load(fd) } file_names = Dir.glob(ARGV[0] || "/Users/sandro/Ruby/image_labs/lib/facer/euruko2/*.jpg") file_names.each_with_index do |file_name,i| face_rectangles = [] opencv_load = OpenCV::IplImage.load(file_name) face_detectors.each_with_index do |face_detector,k| face_detector.detect_objects(opencv_load).each do |rect| face_rectangles << [ rect.top_left.x, rect.top_left.y, rect.top_right.x - rect.top_left.x, rect.bottom_left.y - rect.top_left.y ] end end File.open("#{File.basename(file_name)}.html","w") do |file| file.write <<-HTML #{ face_rectangles.collect do |(x,y,w,h)| "
" end.join("\n") } HTML end puts "End #{file_name}" end