/*
 * call-seq:
 *   CvHaarClassiferCascade.load(<i>path</i>) -> object-detector
 * 
 * Load trained cascade of haar classifers from file.
 * Object detection classifiers are stored in XML or YAML files.
 * sample of object detection classifier files is included by OpenCV.
 *
 * You can found these at
 *    C:\Program Files\OpenCV\data\haarcascades\*.xml (Windows, default install path)
 *
 * e.g. you want to try to detect human's face.
 *    detector = CvHaarClassiferCascade.load("haarcascade_frontalface_alt.xml")
 */
VALUE
rb_load(VALUE klass, VALUE path)
{
  CvHaarClassifierCascade *cascade = (CvHaarClassifierCascade*)cvLoad(StringValueCStr(path), 0, 0, 0);
  if(!CV_IS_HAAR_CLASSIFIER(cascade))
    rb_raise(rb_eTypeError, "invalid format haar classifier cascade file.");
  return OPENCV_OBJECT(rb_klass, cascade);
}
/*
 * call-seq:
 *   CvHaarClassiferCascade.load(<i>path</i>) -> object-detector
 * 
 * Load trained cascade of haar classifers from file.
 * Object detection classifiers are stored in XML or YAML files.
 * sample of object detection classifier files is included by OpenCV.
 *
 * You can found these at
 *    C:\Program Files\OpenCV\data\haarcascades\*.xml (Windows, default install path)
 *
 * e.g. you want to try to detect human's face.
 *    detector = CvHaarClassiferCascade.load("haarcascade_frontalface_alt.xml")
 */
VALUE
rb_load(VALUE klass, VALUE path)
{
  CvHaarClassifierCascade *cascade = NULL;
  try {
    cascade = (CvHaarClassifierCascade*)cvLoad(StringValueCStr(path), 0, 0, 0);
  }
  catch (cv::Exception& e) {
    raise_cverror(e);
  }
  if (!CV_IS_HAAR_CLASSIFIER(cascade))
    rb_raise(rb_eArgError, "invalid format haar classifier cascade file.");
  return Data_Wrap_Struct(klass, 0, cvhaarclassifiercascade_free, cascade);
}