Access Reading Violation when using CascadeClassifier.Detectmultiscale

asked 2019-04-28 13:26:37 -0600

updated 2019-04-28 13:35:14 -0600

berak gravatar image

Hello, everyone. I've got problem with detecting face. When I use CascadeClassifier.Detectmultiscale(gray,faces,1.1,2) I have the error in std::algorithm Access Reading Violation. I'm using OpenCv 3.4.6 and c++. It's code(P.S. It delay camera it's take picture and detect):

#include "opencv2/opencv.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include "windows.h"
using namespace cv;
using namespace std;

int main(int argc, char** argv) {

String face_cascade_name = "C:\\Opencv-3.4.6\\sources\\data\\haarcascades\\haarcascade_frontalface_default.xml";
    CascadeClassifier face_cascade;
    RNG rng(12345);
    Mat image;
    face_cascade.load(face_cascade_name);

    if (face_cascade.empty())
    {
        cerr << "NOP!" << endl;
    }


    namedWindow("Camera", WINDOW_AUTOSIZE);
    int delay;
    cout << "Write the delay: ";
    cin >> delay;
    VideoCapture png(0);

    if (!png.isOpened())  // check if we succeeded
        return -1;



    Sleep(delay * 1000);
    png >> image;

    vector<Rect> faces;
    Mat gray;
    cvtColor(image, gray, COLOR_BGR2GRAY);
    equalizeHist(gray, gray);
    face_cascade.detectMultiScale(gray, faces, 1.1, 2);


    imshow("Camera", image);

    waitKey(0);


}

Help me as soon as it possible.
Best Regards, TheGamerCoder.

edit retag flag offensive close merge delete

Comments

can you give us the exact error msg ?

berak gravatar imageberak ( 2019-04-28 13:36:05 -0600 )edit

in std::algorithm -> Exception Thrown: Thrown Access Violation Reading Memory:

_RIGHT was 0x0.......

_LEFT was 0

thegamercoder gravatar imagethegamercoder ( 2019-04-28 13:38:52 -0600 )edit