viewSet

(Чтобы быть удаленным) Объект для данных об управлении для структуры от движения и визуальной одометрии

    viewSet объект будет удален в будущем релизе. Используйте imageviewset объект вместо этого. Для получения дополнительной информации см. Вопросы совместимости.

    Описание

    viewSet представления объектно-ориентированной памяти и связи между представлениями. Представление включает характерные точки и абсолютное положение камеры. Связь между двумя представлениями включает соответствия точки и относительное положение камеры между ними. Если вы заполняете viewSet объект, можно использовать его, чтобы найти дорожки точки через несколько представлений и получить положения камеры, которые будут использоваться triangulateMultiview и bundleAdjustment функции.

    Создание

    Синтаксис

    Описание

    пример

    vSet = viewSet создает пустой viewSet объект. Можно добавить представления и связи с помощью addView и addConnection функции объекта.

    Свойства

    развернуть все

    Это свойство доступно только для чтения.

    Количество представлений, сохраненных как целое число.

    Это свойство доступно только для чтения.

    Просмотрите атрибуты, сохраненные как таблица с четырьмя столбцами. Таблица содержит столбцы для ViewID'points', Orientation, и Location. Используйте poses метод, чтобы получить идентификаторы, ориентацию и местоположение для точек.

    Это свойство доступно только для чтения.

    Попарные связи между представлениями, сохраненными как таблица с пятью столбцами. Столбцами является ViewID1, ViewID2, Matches, RelativeOrientation, и RelativeLocation. Количество записей в таблице представляет количество связей. Каждый индекс в Matches столбец представляет связь между двумя представлениями, обозначенными представлением IDs.

    Функции объекта

    addConnection(Чтобы быть удаленным), Добавляет связь между двумя представлениями
    addView(Чтобы быть удаленным), Добавляет новое представление, чтобы просмотреть объект набора
    deleteConnection(Чтобы быть удаленным), Удаляют связь между двумя представлениями от объекта набора представления
    deleteView(Чтобы быть удаленным), Удаляют существующее представление из объекта набора представления
    findTracks(Чтобы быть удаленным), Находят соответствующие точки через несколько представлений
    hasConnection(Чтобы быть удаленным) Проверка, если связь существует между двумя представлениями
    hasView(Чтобы быть удаленным) Проверка, если представление существует
    poses(Чтобы быть удаленным), Возвращает положения камеры, сопоставленные в представления
    updateConnection(Чтобы быть удаленным), Изменяют связь между двумя представлениями в поле зрения объект набора
    updateView(Чтобы быть удаленным), Изменяют существующее представление в поле зрения объект набора

    Примеры

    свернуть все

    Загрузите изображения.

    imageDir = fullfile(toolboxdir('vision'),'visiondata','structureFromMotion');
    images = imageSet(imageDir);

    Вычислите функции первого изображения.

    I = rgb2gray(read(images, 1));
    pointsPrev = detectSURFFeatures(I);
    [featuresPrev,pointsPrev] = extractFeatures(I,pointsPrev);

    Создайте viewSet объект.

    vSet = viewSet;
    vSet = addView(vSet,1,'Points',pointsPrev);

    Вычислите функции и соответствия для остальной части изображений.

    for i = 2:images.Count
     I = rgb2gray(read(images,i));
     points = detectSURFFeatures(I);
     [features, points] = extractFeatures(I,points);
     vSet = addView(vSet,i,'Points',points);
     pairsIdx = matchFeatures(featuresPrev,features);
     vSet = addConnection(vSet,i-1,i,'Matches',pairsIdx);
     featuresPrev = features;
    end

    Найдите дорожки точки.

    tracks = findTracks(vSet);

    Вопросы совместимости

    развернуть все

    Не рекомендуемый запуск в R2020a

    Введенный в R2016a