Интерфейс Computer Vision Toolbox™ для OpenCV обеспечивает предварительно созданный MATLAB® взаимодействуйте через интерфейс к библиотеке OpenCV, которой можно пользоваться, чтобы непосредственно вызвать функции OpenCV из MATLAB, не пишущий C/C ++ код.
Примечание
Интерфейс Computer Vision Toolbox для OpenCV в MATLAB поддерживает версию 4.2.0 OpenCV. Интерфейс не оказывает поддержку графического процессора.
Интерфейс Computer Vision Toolbox для OpenCV также предоставляет функции MATLAB:
Создайте объекты MATLAB, которые представляют Mat
, UMat
, Базовые классы OpenCV, указанные интеллектуальным указателем и массивами OpenCV.
Функция MATLAB | Описание |
createMat | Возвращает Mat объекты, которые представляют OpenCV cv::Mat структура данных, и связанный вход, выход или класс ввода - вывода массивов. |
createUMat | Возвращает UMat объекты, которые представляют OpenCV cv::UMat структура данных, и связанный вход, выход или класс ввода - вывода массивов. |
clibArray | Возвращает объект, который представляет собственные массивы OpenCV или std::vector типы. |
getBasePtr | Возвращает объект, который представляет базовый класс OpenCV, указанный интеллектуальным указателем. |
Экспортируйте OpenCV выходные параметры в поддерживаемые форматы MATLAB.
Функция MATLAB | Описание |
getImage | Чтения и изображения экспорта сохранены в OpenCV Mat и UMat объекты к матрице или трехмерному массиву в рабочем пространстве MATLAB. |
keyPointsToStruct | Экспортирует keypoints, возвращенный детектором OpenCV keypoint как структура MATLAB. |
rectToBbox | Экспортирует параметры, возвращенные прямоугольным классом OpenCV в вектор в рабочем пространстве MATLAB. Параметры экспортируются, когда ограничительная рамка координирует в индексации на основе одной. |
underlyingValue | Возвращает базовые числовые значения для объектов перечисления OpenCV. |
Функции OpenCV в предварительно созданной библиотеке не возвращают ошибки кроме во время времени выполнения.
Чтобы вызвать функцию MATLAB в Интерфейсе Computer Vision Toolbox для пакета поддержки OpenCV, добавьте, что пакет называет vision.opencv.util
к списку импорта и затем вызывают функцию MATLAB. Например:
import vision.opencv.util.*
[ocvMat,ocvArray] = createMat;
vision.opencv
к списку импорта и вызову функция MATLAB преднезаконченным util
к имени функции. Например:import vision.opencv.*
[ocvMat,ocvArray] = util.createMat;
В качестве альтернативы можно также вызвать функцию MATLAB путем добавления префикса его полное имя пакета. Используйте этот синтаксис, чтобы импортировать определенную функцию, не импортируя каждую функцию в пакете.
[ocvMat,ocvArray] = vision.opencv.util.createMat;
Чтобы вызвать функцию или класс в предварительно созданном интерфейсе MATLAB к библиотеке OpenCV, добавьте, что библиотека называет clib.opencv
к списку импорта. Затем вызовите функцию OpenCV путем добавления префикса имени функции пространство имен.
import clib.opencv.*
retVal = namespace.funcname(arg1,arg2,…,argN)
namespace
пространство имен функции, funcname
имя функции OpenCV и arg1
, arg2
..., argN
представляет входные параметры для функции OpenCV. retVal
выходной аргумент.В качестве альтернативы можно также вызвать функцию OpenCV путем добавления имени пакета как префикса как показано здесь.
retVal = clib.opencv.namespace.funcname(arg1,arg2,…,argN)
Примечание
Интерфейс поддерживает только cv
и cvflann
пространства имен. Например, можно вызвать функцию в cv
пространство имен при помощи этого синтаксиса:
retVal = clib.opencv.cv.funcname(arg1,arg2,…,argN)
Чтобы просмотреть информацию о функциях MATLAB в пакете поддержки, использовать doc
или help
.
Введите одну из этих команд в окне команды MATLAB.
doc vision.opencv.util.
или
help vision.opencv.util.
Затем нажмите Tab. Эта команда загружает пакет, и MATLAB отображает список функций в пакете.
Чтобы просмотреть информацию о пакете в Браузере документации, введите эту команду в окне команды MATLAB, и затем нажмите Enter.
doc vision.opencv.util
Используйте эти функции MATLAB, чтобы просмотреть информацию о классах и функциях в интерфейсе Prebuilt MATLAB к библиотеке OpenCV.
doc
и help
— Просмотрите классы и функции в библиотеке OpenCV.
methods
— Просмотрите конструктора, метод и имена функций пакета для класса.
methods
с '-full'
опция — конструктор Представления, метод и подписи функции пакета.
methodsview
— Просмотрите табличное представление сигнатур методов. methodsview
окно позволяет вам найти информацию, не просматривая Командное окно путем прокрутки.
Отобразите классы и функции пакета путем ввода этой команды и затем нажатия Tab.
doc clib.opencv.
Эта команда загружает пакет, и MATLAB отображает список членов пакета. Чтобы просмотреть пакет, нажмите Backspace, чтобы удалить период, затем нажать Enter. MATLAB отображает все классы и функции в библиотеке OpenCV.
Чтобы отобразить методы класса, вызовите methods
функция для того класса. Например, чтобы видеть методы Affine3d
класс, введите эту команду.
methods clib.opencv.cv.Affine3d
Methods for class clib.opencv.cv.Affine3d: Affine3d eq gt le ne rotation translate concatenate ge inv lt rotate rvec translation Static methods: Identity Methods of clib.opencv.cv.Affine3d inherited from handle.
Чтобы отобразить сигнатуры методов для класса, вызовите methodsview
функция для того класса. Например:
methodsview clib.opencv.cv.Affine3d
Эта команда открывает окно, которое отображает методы и информацию об их аргументах и возвращенных значениях.
Предварительно созданный интерфейс MATLAB к библиотеке OpenCV не поддерживает функциональности, которые содержат эти после функций языка или типов данных.
Любой тип с размером, больше, чем 64 бита, такие как long double
Массивы типов символов (wchar_t
, char16_t
, char32_t
)
Ссылки на указатель, такие как int*&
Указатели или массивы типа std::string
Указатели или ссылки на перечисления
Члены справочных данных
void*
элементы данных
std
интеллектуальные указатели кроме std::shared_ptr
Статические элементы данных
**
указатели, кроме:
MATLAB поддерживает char**
MATLAB поддерживает **
указатели на пользовательские классы, используемые в качестве функции или method типов параметра.
Многоуровневые указатели, такие как type***
C указатели функции и std::function
как функциональные типы возврата или элементы данных. Вы также не можете передать функцию MATLAB как вход к указателям функции C или std::function
параметр.
Шаблоны классов с неполным или никакими инстанцированиями
Пользовательский тип данных union
Массивы типа std::vector
Типы заданы в std
пространство имен, кроме этих поддерживаемых типов:
std::string
std::wstring
std::u16string
std::u32string
std::vector
std::shared_ptr
std::function