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