Используйте файлы интерфейса 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'))
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 из файла обертки C++, а затем тестирует только что созданный файл. В примере используется алгоритм соответствия шаблона OpenCV, упакованный в файл C++, который расположен в example/TemplateMatching
папка.
Измените текущую рабочую папку на example/TemplateMatching
папка:
cd(fullfile(fileparts(which('mexOpenCV')),'example',filesep,'TemplateMatching'))
Создайте файл MEX из исходного файла:
mexOpenCV matchTemplateOCV.cpp
Запустите тестовый скрипт, который использует сгенерированный файл MEX:
testMatchTemplate
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 в |
ocvKeyPointsToStruct | Преобразование |
ocvMxArrayToCvRect | Преобразуйте struct MATLAB, представляющую прямоугольник, в |
ocvCvRectToMxArray | Преобразование |
ocvCvBox2DToMxArray | Преобразование |
ocvCvRectToBoundingBox_{DataType} | Преобразование |
ocvMxArrayToSize_{DataType} | Преобразуйте 2-элементный |
ocvMxArrayToImage_{DataType} | Преобразуйте основной столбец |
ocvMxArrayToMat_{DataType} | Преобразуйте основной столбец mxArray в основную строку cv::Mat для стандартной матрицы |
ocvMxArrayFromImage_{DataType} | Преобразуйте основную |
ocvMxArrayFromMat_{DataType} | Преобразуйте основную cv::Mat строки в основной столбец mxArray для стандартной матрицы. |
ocvMxArrayFromVector | Преобразуйте числовые |
ocvMxArrayFromPoints2f | Преобразует |
Примечание
Перечисленные ниже функции графического процессора будут удалены в следующем релизе.
Функция GPU | Описание |
---|---|
ocvMxGpuArrayToGpuMat_{DataType} | Создание |
ocvMxGpuArrayFromGpuMat_{DataType} | Создание |
Вызовите mxArray
функция с вашим исходным файлом.
mexOpenCV
yourfile.cpp
Для помощи с созданием файлов MEX в командной строке MATLAB введите:
help mexOpenCV
Каждая подпапка примера в Интерфейсе Computer Vision Toolbox для OpenCV в пакете поддержки MATLAB содержит все файлы, необходимые для запуска примера. Чтобы запустить пример, необходимо вызвать mexOpenCV
с одним из предоставленных исходных файлов.
Пример соответствия шаблона запуска