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

Используйте файлы Интерфейса OpenCV, чтобы интегрировать ваш Код С++ OpenCV в MATLAB® и создать файлы MEX, которые вызывают функции OpenCV. Пакет поддержки также содержит поддержку графического процессора (GPU).

Установка

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

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

  • Введите visionSupportPackages в Окне Команды MATLAB и следуйте за подсказками.

Примечание

У вас должны быть привилегии записи для папки установки.

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

Поддержите содержимое пакета

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

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

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

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

Операционная система Совместимый компилятор
Windows® 64 битаMicrosoft® Visual Studio® 2015 Professional или Visual Studio 2017
Linux® 64 битаgcc-4.9.3 (g ++)
Mac 64 битаXCode 6.2.0 (Лязг ++)

Создайте файл 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

Используйте интерфейс OpenCV API C++

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

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

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

ocvStructToKeyPoints

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

ocvKeyPointsToStruct

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

ocvMxArrayToCvRect

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

ocvCvRectToMxArray

Преобразуйте OpenCV CvRect в struct MATLAB

ocvCvBox2DToMxArray

Преобразуйте OpenCV CvBox2D в struct MATLAB

ocvCvRectToBoundingBox_{DataType}

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

ocvMxArrayToSize_{DataType}

Преобразуйте mxArray с 2 элементами в 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

Функция графического процессораОписание
ocvMxGpuArrayToGpuMat_{DataType}

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

ocvMxGpuArrayFromGpuMat_{DataType}

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

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

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

mexOpenCV yourfile.cpp

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

help mexOpenCV

Запустите примеры OpenCV

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

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

 Запустите приоритетный пример детектора

 Запустите ориентированный FAST и вращаемый BRIEF (ORB) пример детектора

 Запуститесь обнаруживают функции ORB (версия графического процессора) пример

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

|

Похожие темы