exponenta event banner

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

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

Установка

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

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

  • Напечатать visionSupportPackages в окне команд MATLAB и следуйте инструкциям.

Примечание

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

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

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

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

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

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

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

Примечание

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

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

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

Операционная система Совместимый компилятор
64-разрядная версия Windows ®Microsoft ® Visual Studio ® 2015 или более поздней версии
64-разрядная версия Linux ®gcc-4.9.3 (г++)
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 в API MATLAB C++

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

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

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

Проверьте, что структура MATLAB представляет характерные точки

ocvStructToKeyPoints

Преобразование структуры элементов MATLAB в OpenCV KeyPoint вектор

ocvKeyPointsToStruct

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

ocvMxArrayToCvRect

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

ocvCvRectToMxArray

Преобразование OpenCV CvRect в структуру MATLAB

ocvCvBox2DToMxArray

Преобразование OpenCV CvBox2D в структуру MATLAB

ocvCvRectToBoundingBox_{DataType}

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

ocvMxArrayToSize_{DataType}

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

ocvMxArrayToImage_{DataType}

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

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

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

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

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

ocvMxArrayFromPoints2f

Новообращенные vector<cv::Point2f> кому mxArray

Примечание

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

Функция графического процессораОписание
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 Interface для OpenCV в пакете поддержки MATLAB содержит все файлы, необходимые для выполнения примера. Для выполнения примера необходимо вызвать mexOpenCV с одним из исходных файлов.

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

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

 Пример детектора Run Oriented FAST и Rotated BRIEF (ORB)

См. также

|

Связанные темы