Прогнозирование ди git с использованием векторной машины поддержки Эмгу - PullRequest
0 голосов
/ 18 января 2020

Я изменяю пример кода, чтобы загрузить свои собственные изображения и предсказать, какие цифры они представляют. Исходный пример (https://github.com/halanch599/Emgucv/tree/master/Digit%20CLassification%20SVM) использует базу данных рукописных цифр MNIST, где каждое изображение размером 28 x 28 пикселей сохраняется в векторе с 784 столбцами. Как я могу преобразовать свое изображение в данные, необходимые для передачи в svm.Predict ()?

    int PredictImage()
    {
        SVM svm = new SVM();

        string sFile = @"C:\Digits\HandWritten\3\1.jpg";

        Image<Bgr, Byte> captureImage = new Image<Bgr, byte>(sFile);

        int width = 28;
        int height = 28;

        Image<Bgr, byte> resizedImage = captureImage.Resize(width, height, Emgu.CV.CvEnum.Inter.Linear);    

        Mat invert = new Mat(); 
        CvInvoke.BitwiseNot(resizedImage, invert);

        Image<Bgr, byte> invertedImage = invert.ToImage<Bgr, Byte>();

        pictureBox1.Image = invertedImage.Bitmap;       
        var predict = svm.Predict(???); // should return the most likely digit
        return predict;
    }
...