Установка и использование интерфейса Computer Vision Toolbox для OpenCV в MATLAB

Используйте файлы интерфейса OpenCV, чтобы интегрировать код OpenCV C++ в MATLAB® и создайте файлы MEX, которые вызывают функции OpenCV.

Установка

После установки сторонних файлов поддержки можно использовать данные с продуктом Computer Vision Toolbox™. Для установки файлов поддержки дополнение используйте один из следующих методов:

  • Выберите Get Add-ons из раскрывающегося меню Add-ons на рабочем столе MATLAB. Файлы Дополнения находятся в разделе «MathWorks Функций».

  • Тип visionSupportPackages в Командном Окне MATLAB и следуйте приглашениям.

Примечание

Необходимо иметь права на запись для папки установки.

Когда будет выпущена новая версия программного обеспечения MATLAB, повторите этот процесс, чтобы проверить наличие обновлений. Можно также проверить наличие обновлений между релизами.

Содержимое пакета поддержки

Интерфейс Computer Vision Toolbox для OpenCV в файлах поддержки MATLAB установлен в visionopencv папка. Чтобы найти путь к этой папке, введите следующую команду:

fileparts(which('mexOpenCV')) 
The visionopencv папка содержит эти файлы и папку.

ФайлыСодержание
example папкаШаблон соответствия, детектор переднего плана и ориентированные примеры FAST и Rotated BRIEF (ORB). Каждая подпапка в папке примера содержит README.txt файл с пошаговыми инструкциями.
registry папкаФайлы регистрации.
mexOpenCV.m файл

Функция для создания файлов MEX.

Примечание

Поддержка графический процессор этой функции будет удалена в следующем релизе.

README.txt файлФайл справки.

mex функция использует предварительно построенные библиотеки OpenCV, которые поставляются с продуктом Computer Vision Toolbox. Компилятор должен быть совместим с компилятором, используемым для создания библиотек. Для создания библиотек OpenCV для узла MATLAB используются следующие компиляторы:

Операционная система Совместимый компилятор
Windows® 64 битMicrosoft® Визуальная студия® 2015 или более поздняя версия
Linux® 64 битgcc-4.9.3 (g++)
Mac 64 битXcode 6.2.0 (Clang++)

Создайте файл MEX из файла OpenCV C++

Этот пример создает файл MEX из файла обертки C++, а затем тестирует только что созданный файл. В примере используется алгоритм соответствия шаблона OpenCV, упакованный в файл C++, который расположен в example/TemplateMatching папка.

  1. Измените текущую рабочую папку на example/TemplateMatching папка:

    cd(fullfile(fileparts(which('mexOpenCV')),'example',filesep,'TemplateMatching'))

  2. Создайте файл MEX из исходного файла:

    mexOpenCV matchTemplateOCV.cpp

  3. Запустите тестовый скрипт, который использует сгенерированный файл MEX:

    testMatchTemplate

Используйте интерфейс Computer Vision Toolbox для OpenCV в MATLAB C++ API

The mexOpenCV интерфейс служебных функций преобразования данных между OpenCV и MATLAB. Эти функции поддерживают только CPP-соединение. Поддержка графический процессор доступна на платформах glnxa64, win64 и Mac. Специфичные для GPU служебные функции поддерживают графический процессор NVIDIA с поддержкой CUDA. Смотрите системные требования Parallel Computing Toolbox™ и поддержку GPU by Release (Parallel Computing Toolbox). Для служебные функции GPU требуется программное обеспечение Parallel Computing Toolbox.

Интерфейс Computer Vision Toolbox для OpenCV в MATLAB API поддерживает OpenCV версии 4.2.0.

ФункцияОписание
ocvCheckFeaturePointsStruct

Проверяйте, что struct MATLAB представляет точки функций

ocvStructToKeyPoints

Преобразуйте struct характерных точек MATLAB в KeyPoint OpenCV вектор

ocvKeyPointsToStruct

Преобразование KeyPoint OpenCV вектор в struct MATLAB

ocvMxArrayToCvRect

Преобразуйте struct MATLAB, представляющую прямоугольник, в CvRect OpenCV

ocvCvRectToMxArray

Преобразование CvRect OpenCV в struct MATLAB

ocvCvBox2DToMxArray

Преобразование CvBox2D OpenCV в struct MATLAB

ocvCvRectToBoundingBox_{DataType}

Преобразование vector<cv::Rect> к M - by-4mxArray ограничивающих прямоугольников

ocvMxArrayToSize_{DataType}

Преобразуйте 2-элементный mxArray на cv::Size

ocvMxArrayToImage_{DataType}

Преобразуйте основной столбец mxArray в основную строку cv::Mat для изображения

ocvMxArrayToMat_{DataType}Преобразуйте основной столбец mxArray в основную строку cv::Mat для стандартной матрицы
ocvMxArrayFromImage_{DataType}

Преобразуйте основную cv::Mat строки в основной столбец mxArray для изображения

ocvMxArrayFromMat_{DataType}Преобразуйте основную cv::Mat строки в основной столбец mxArray для стандартной матрицы.
ocvMxArrayFromVector

Преобразуйте числовые vectorT кому mxArray

ocvMxArrayFromPoints2f

Преобразует vector<cv::Point2f> кому mxArray

Примечание

Перечисленные ниже функции графического процессора будут удалены в следующем релизе.

Функция GPUОписание
ocvMxGpuArrayToGpuMat_{DataType}

Создание cv::gpu::GpuMat от gpuArray

ocvMxGpuArrayFromGpuMat_{DataType}

Создание gpuArray от cv::gpu::GpuMat

Создайте свои собственные OpenCV файлы MEX

Вызовите mxArray функция с вашим исходным файлом.

mexOpenCV yourfile.cpp

Для помощи с созданием файлов MEX в командной строке MATLAB введите:

help mexOpenCV

Запуск примеров OpenCV

Каждая подпапка примера в Интерфейсе Computer Vision Toolbox для OpenCV в пакете поддержки MATLAB содержит все файлы, необходимые для запуска примера. Чтобы запустить пример, необходимо вызвать mexOpenCV с одним из предоставленных исходных файлов.

 Пример соответствия шаблона запуска

 Пример запуска детектора переднего плана

 Пример детектора FAST и вращенного BRIEF (ORB)

См. также

|

Похожие темы