std :: алгоритм Нарушение прав чтения - PullRequest
0 голосов
/ 28 апреля 2019

Я настраиваю распознавание лица с задержкой камеры в opencv / c ++.Как я могу сделать это без ошибок?

Для обнаружения я использовал CascadeClassifier.Detectmultiscale.

void detectAndDraw(Mat& img, CascadeClassifier& cascade,

    double scale)
{
    vector<Rect> faces;
    Mat gray;

    cvtColor(img, gray, COLOR_BGR2GRAY); // Convert to Gray Scale 


    // Resize the Grayscale Image  

    equalizeHist(gray, gray);

    // Detect faces of different sizes using cascade classifier  
    cascade.detectMultiScale(gray, faces);

    // Draw circles around the faces 
for(int i = 0; i<=faces.size();i++){
//and cout of x,y,width,height
}

Я уточнил детали, но у меня есть ошибка с Access Read Memory в алгоритме.

Фото:

This is error

1 Ответ

1 голос
/ 29 апреля 2019

Похоже, что в этом цикле произошла ошибка "по одному":

for(int i = 0; i <= faces.size(); i++) {
   ...
}

Вероятно, это должно быть <, а не <=, поскольку в противном случае на последней итерации ваше значение i будет выходить за пределы.

...