С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lis Serebra
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 1
#1

MNIST распознавание знаков - C++

09.01.2013, 23:26. Просмотров 782. Ответов 0
Метки нет (Все метки)

учу с++ с opencv. Должна предоставить программу по решению судоку. У меня уже определяется поле, но при попытки работать с MNIST идёт ошибка памяти. Что в этом виновата переменная size я уже поняла. Но не понимаю почему. Код честно взяла отсюда (http://pastebin.com/SzThnTUM) и понимаю не совсем всё. size выходит за рамки размера и даже неправильно высчитывается, но я не понимаю, на что и как поменять. Надеюсь, меня поймут и помогут, потому что добрый профессор послал в интернет, а сдавать уже скоро.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "stdafx.h"
#include "digitrecognizer.h"
 
bool DigitRecognizer::train(char *trainPath, char *labelsPath)
{
    FILE *fp = fopen(trainPath, "rb");
    FILE *fp2 = fopen(labelsPath, "rb");
 
    if(!fp || !fp2)
        return false;
 
    // Read bytes in flipped order
    int magicNumber = readFlippedInteger(fp);   
    numImages = readFlippedInteger(fp);
    numRows = readFlippedInteger(fp);
    numCols = readFlippedInteger(fp);
 
    // printf("Magic number: %4x\n", magicNumber);
    //printf("Number of images: %d\n", numImages);
    //printf("Number of rows: %d\n", numRows);
    //printf("Number of columns: %d\n", numCols);
 
    fseek(fp2, 0x08, SEEK_SET);
 
    if(numImages > MAX_NUM_IMAGES) numImages = MAX_NUM_IMAGES;
 
    int size = numRows*numCols;
    CvMat *trainingVectors = cvCreateMat(numImages, size, CV_32FC1);
    CvMat *trainingClasses = cvCreateMat(numImages, 1, CV_32FC1);
 
    memset(trainingClasses->data.ptr, 0, sizeof(float)*numImages);
 
    BYTE *temp = new BYTE[size];
    BYTE tempClass=0;
    for(int i=0;i<numImages;i++)
    {
        fread((void*)temp, size, 1, fp);
        fread((void*)(&tempClass), sizeof(BYTE), 1, fp2);
 
        trainingClasses->data.fl[i] = tempClass;
        
        for(int k=0;k<size;k++)
            trainingVectors->data.fl[i*size+k] = temp[k]; ///sumofsquares;
    }
 
    knn->train(trainingVectors, trainingClasses);
    fclose(fp);
    fclose(fp2);
 
    return true;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 23:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос MNIST распознавание знаков (C++):

База изображений MNIST - C++
Здрасте , такой вопрос , реализую нейросеть на с++ , дошло дело до обучения сети и понял что не понимаю как работать с базой данных от...

Определить количество вхождений строки из n знаков в строку из k знаков - C++
Всем доброй ночи ребят. Вы последняя надежда:( помогите пожалуйста 2 задачи решить последняя ночь( сразу препод говорил, что контрольную...

Последовательность из цифр, букв и знаков. Подсчитать чего больше и составить строки только из цифр, букв и знаков - C++
Дана последовательность состоящая из цифр, букв и знаков пунктуации в произвольном порядке. Подсчитать чего больше и составить строки...

Распознавание текста - C++
Здравствуйте. Пишу программу которая получает данные от другой программы (игры). Из памяти данные извлечь не получилось (запутано все много...

Распознавание текста - C++
народ всем привет) подскажите пожалуйста литература, а если быть точнее как написать сканер текста( приложения) в каком направлении капать?...

распознавание текста - C++
господа такой вопрос - есть ли в свободном распространении либа или длл для распознавание отсканированного текста

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2013, 23:26
Привет! Вот еще темы с ответами:

Распознавание числа - C++
Пишу лабу на С++ по распознаванию чисел ... первая лаба была легкая, там просто числа нарезал 1-9.бмп и по пиксельно читал и сравнивал с...

Распознавание текста - C++
Доброе утро! На форуме находится множество подобных тем, однако конкретной информации так и не было найдено. Имеется задача - научить...

Распознавание текста - C++
Здравствуйте. Сделал программу на C++ чтобы программа приветствовала меня и спрашивала может ли чем-нибудь мне помочь. Можно ли прописать в...

Распознавание образов - C++
здравствуйте. нужно написать программу для распознавания типов водного транспорта (лодка, корабль, подводная лодка).распознавание образов ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.