opencv detectMultiScale haarcascade_eye在第一张图像上花费几秒钟

问题描述

eyes_cascade.detectMultiScale(cropedImg,eyes_,1.2,3);

在detectMultiScale上运行经过裁剪的脸部图像以检测眼睛时,第一个图像将至少花费1-2秒,下一个传入图像则至少需要30毫秒。 裁剪后的图像的尺寸将始终不同,可能的情况是352x528。

造成延迟的原因是什么?在开始时是否有解决方法可以将其初始化以克服初始延迟?

使用OpenCV 3.4.5

解决方法

回答我自己的问题

detectMultiScale(cropedImg,eyes_,1.2,2,0 | cv::CASCADE_FIND_BIGGEST_OBJECT | cv::CASCADE_DO_ROUGH_SEARCH | cv::CASCADE_DO_CANNY_PRUNING | cv::CASCADE_SCALE_IMAGE);

传递标志可以减少延迟,并提高应用程序的性能。