Установите и используйте 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 (версия графического процессора) пример

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

|

Похожие темы