Я реализую Сумку слов Model с использованием функций SURF и SIFT и SVM-классификатора. Я хочу тренироваться (80% из 2876 изображений) и тестировать (20% из 2876 изображений). Я сохранил параметр dictionarySize равным 1000. Конфигурация моего компьютера - это Intel Xeon (2 процессора)/32 ГБ оперативной памяти/500 ГБ HDD. Здесь изображения считываются, когда это необходимо, вместо их хранения. как,Недостаточная ошибка памяти: сумка слов OpenCV 2.4.6 Visual Studio 2010
std::ifstream file("C:\\testFiles\\caltech4\\train0.csv", ifstream::in);
if (!file)
{
string error_message = "No valid input file was given, please check the given filename.";
CV_Error(CV_StsBadArg, error_message);
}
string line, path, classlabel;
printf("\nReading Training images................\n");
while (getline(file, line))
{
stringstream liness(line);
getline(liness, path, separator);
getline(liness,classlabel);
if(!path.empty())
{
Mat image = imread(path, 0);
cout << " " << path << "\n";
detector.detect(image, keypoints1);
detector.compute(image, keypoints1,descriptor1);
featuresUnclustered.push_back(descriptor1);
}
}
Здесь train0.csv содержит пути к изображениям с этикетками. Он останавливается из этого цикла при чтении изображений, вычисляет дескриптор и добавляет его в кластерные функции. После apprears ошибок на консоли:
Загрузка изображения похоже прекрасный. Вероятно, это объекты, которые слишком большие – Miki
Как я могу использовать featuresUnclustered, поскольку я хочу использовать весь набор данных? – Alex
Ну, сначала вы можете проверить, действительно ли проблема. – Miki