keyPointsToStruct

Преобразуйте OpenCV KeyPoints возразите против структуры MATLAB

    Описание

    пример

    mlstruct = keyPointsToStruct(keypoints) преобразует OpenCV KeyPoints возразите против MATLAB® структура.

    Примеры

    свернуть все

    В этом примере показано, как использовать предварительно созданный интерфейс MATLAB для функции OpenCV cv::Fast в MATLAB, чтобы обнаружить keypoints в изображении. Кроме того, используйте keyPointsToStruct служебная функция, чтобы записать keypoints, возвращенный OpenCV cv::Fast функционируйте к структуре MATLAB.

    Добавьте интерфейс MATLAB в имена пакета OpenCV к списку импорта.

    import clib.opencv.*;
    import vision.opencv.util.*;

    Считайте изображение в рабочее пространство MATLAB.

    img = imread("elephant.jpg");

    Создайте объекты интерфейса MATLAB для OpenCV MatND и InputArray классы, чтобы сохранить входное изображение.

    [inputMat,inputArray] = createMat(img);

    Создайте объект интерфейса MATLAB для OpenCV KeyPoint вектор при помощи clibArray функция.

    keyPointsVec = clibArray("clib.opencv.cv.KeyPoint",0);

    Задайте параметры для вычисления keypoints использование детектора FAST.

    threshold = 100;
    nonmaxSuppression = true;

    Вычислите keypoints в изображении путем вызывания функции OpenCV cv::FAST в MATLAB.

    cv.FAST(inputArray,keyPointsVec,threshold,nonmaxSuppression);

    Преобразуйте KeyPoints объект, возвращенный OpenCV, функционирует в структуру MATLAB.

    mlstruct = keyPointsToStruct(keyPointsVec);

    Смотрите поля в структуре выхода MATLAB.

    mlstruct
    mlstruct = struct with fields:
           Location: [48x2 double]
              Scale: [48x1 double]
             Metric: [48x1 double]
               Misc: [48x1 double]
        Orientation: [48x1 double]
    
    

    Отобразите входное изображение и постройте обнаруженный keypoints.

    figure
    imshow(img)
    hold on
    plot(mlstruct.Location(:,1),mlstruct.Location(:,2),"*r")
    hold off

    Figure contains an axes object. The axes object contains 2 objects of type image, line.

    Входные параметры

    свернуть все

    OpenCV KeyPoints класс в виде объекта интерфейса MATLAB. Этот интерфейсный объект является представлением KeyPoints класс, возвращенный любым из OpenCV, функционирует для keypoint обнаружения.

    Выходные аргументы

    свернуть все

    Keypoints обнаружил использование функции OpenCV, возвращенной как структура MATLAB с полями Locationшкала, Metric, Misc, и Orientation.

    Поля Описание
    Locationx и y - координаты keypoints.
    ScaleДиаметр области окружения вокруг keypoints.
    MetricСила keypoints.
    OrientationОриентация keypoints.

    Введенный в R2021b