【发布时间】:2013-12-18 01:28:31
【问题描述】:
我正在尝试与 http://docs.opencv.org/2.4.4-beta/doc/tutorials/introduction/desktop_java/java_dev_intro.html 的示例稍有不同
CascadeClassifier faceDetector = new CascadeClassifier("/haarcascade_frontalface_default.xml");
Mat image = Highgui.imread(originalFile.getAbsolutePath());
MatOfRect faceDetections = new MatOfRect();
double w = ((double)originalCrop.getWidth());
double h = ((double)originalCrop.getHeight());
faceDetector.detectMultiScale(image, faceDetections, 3, 1,
Objdetect.CASCADE_DO_CANNY_PRUNING , new Size(w/16, h/16), new Size(w/2, h/2));
来自 API:scaleFactor – 指定在每个图像比例下图像尺寸缩小多少的参数。
更改 scaleFactor 会更改检测到的内容。例如,对于以下图像: http://graphics8.nytimes.com/images/2013/04/02/world/MOSCOW/MOSCOW-articleLarge-v2.jpg
scaleFactor of 3 --> 没有检测到戈尔巴乔夫的脸
scaleFactor of 2 --> 戈尔巴乔夫的脸被检测到两次(一个较大的矩形包含一个较小的矩形)
scaleFactor of 1.01 ---> 戈尔巴乔夫的脸被检测到一次
这究竟是如何工作的?
【问题讨论】:
标签: opencv