Перейти к содержимому
Compvision.ru

helloworld

Пользователи
  • Количество публикаций

    9
  • Зарегистрирован

  • Посещение

Репутация

0 Новичек

О helloworld

  • Звание
    Новичок

Profile Information

  • Пол
    Мужской
  • Расположение
    Fort Collins
  1. Привет всем, Не могу понять как соединить несколько матриц в одну. Например, матрица 5x128 и 4x128. Хочу получить результат 9х128 с сохранением элементов из 1 и 2 матрицы. Вот код, который связан с SURF методом: // result matrix, trainRow = num of points found by SURF x num of images(trainImgNum) CvMat* points = cvCreateMat( trainRow, 128, CV_32FC1 ); for (i=0; i<trainImgNum;i++) { vector<CvPoint2D32f> pt; // fill vector int k = 0; for( k = 0; k < trainDescriptors[i]->total; k++ ) { // extract CvSURFPoint* point =((CvSURFPoint*)cvGetSeqElem(trainDescriptors[i], k)); pt.push_back(point->pt); } // creat matrix total num of points x 128 CvMat temp = cvMat(trainDescriptors[i]->total, 128, CV_32FC1, &pt[0] ); // зздесь хотелось бы заполнять points матрицу по мере возрастания. } Я пробовал добавлять cvGetRows в for-loop, но почему то элементы конечной матрицы равны нулю. cvGetRows( points, &temp, pos, pos+(trainDescriptors[i]->total)); Спасибо!
  2. Проблемы с ExtractSURF() и CvMemStorage

    Небольшой вопрос связанный с Surf: после того как получаем "интересные" точки типа CvSeq, как их переобразовать в матрицу вида 1хКол-во точек ? cvExtractSURF( trainArray, 0, &trainKeypoints, &trainDescriptors, storage, params ); CvMat * temp = cvCreateMat( 1, trainDescriptors->total, CV_32FC2 ); Спасибо
  3. OpenCV: Классификатор

    Да, почти то что надо, но по некоторым причинам я могу использовать только OpenCV 2.1, где bow нет (появился только в 2.2) Появилась идея привязать SURF к KMeans (кластеризация) и потом уже сравнивать с тестируемым изображением (вернее сравнивать points of interest). Всё это пока еще в процессе обдумывания, если у кого есть другие идеи, вперед! Я пока начну понемногу писать код Surf+Kmeans.
  4. OpenCV: Классификатор

    Всем доброго дня. Появилась задача - сделать классификатор с помощью opencv. Есть 4 класса фотографий: зебры, самолеты, машины и кошки (леопарды). Все разного размера, цветные, в каждом классе по 100 фотографий, итого - 400. Вот несколько примеров: Задача проста - в программу будет подаваться изображение, нужно вывести результат: тестируемая фотография принадлежит к зебрам\самолетам\машинам\кошкам. Начал читать о SURF, достаточно интересная идея, выделяются точки и потом они сравниваются с другим изображением. Будет ли SURF работать с 4 классами в моем случае? Если у кого то есть рабочий пример использования SURF, буду очень благодарен, т.к. в поисковиках примеров использования почти нет. Другие идеи тоже приветствуются! Спасибо!
  5. Распознавание лиц

    Да, обучение Haar'а судя по отзывам еще какая рулетка, не угадаешь будет ли работать. Некоторые товарищи тренировали темплейт по 6-7 дней и всё равно результат был с ошибками. Немного пошарив по рунету нашел интерсное решение - http://blog.vidikon.com/?p=470 У меня есть видео файл. Идея - прикрутить к Haar'у мониторинг: сначала находим лица, ставим точки на лица и ищем их передвижение. Кто пробовал подобное, есть какие впечатления (или еще примеры)?
  6. Распознавание лиц

    Обычный поиск лиц на фотографии, с прямоугольником.
  7. Распознавание лиц

    Добрый день. Какие есть еще варианты распознания лиц на фото? Если не сложно, опишите общую процедуру с примерами функций opencv Я немного ознакомился с Sobel mask, но не понял как вытянуть границы(скажем лица) после обработки. Haar не устраивает по одной причине, если например человек немного повернул лицо, то алгоритм не работает =( Спасибо!
  8. Спасибо за наводку. Но мне нужно немного другое - расчитать координаты углов нового изображения _до_ самого поворота. А простое увеличение размера на 3 BgImage = cvCreateImage( cvSize(ImgFromFile->width*3,ImgFromFile->height*3),IPL_DEPTH_8U, ImgFromFile->nChannels ); не пойдет.
  9. Добрый день, Не буду создавать еще одну тему. Моя задача - повернуть картинку на +45 градусов. Проблема в том, что после поворота "обрезаются" углы исходного изображения. Я понимаю что перед поворотом нужно вычислить размер ногово изображения. Есть можно покажите пример. Спасибо!
×