Преобразуйте столбец главный mxArray
, чтобы расположить в ряд главный cv::Mat
для типичной матрицы
#include "opencvmex.hpp"
освободите ocvMxArrayToMat_double (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToMat_single (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToMat_uint8 (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToMat_uint16 (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToMat_uint32 (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToMat_int8 (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToMat_int16 (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToMat_int32 (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToMat_bool (const mxArray *в, условная цена:: Циновка &out);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToMat_double (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToMat_single (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToMat_uint8 (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToMat_uint16 (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToMat_uint32 (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToMat_int8 (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToMat_int16 (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToMat_int32 (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToMat_uint8 (const mxArray *в, const bool copyData = верный);
in
Указатель на struct MATLAB®, mxArray
, имея столбец главные данные. Данными может быть n - матрицы канала. Поддерживаемые типы данных:
real_T (double ) | uint8_T (uint8 ) | uint32_T (uint32 ) | int16_T (int16 ) |
real32_T (single ) | uint16_T (uint16 ) | int8_T (int8 ) | int32_T (int32 ) |
copyData
Булев флаг, чтобы скопировать данные от mxArray
до объекта Mat
.
true
(значение по умолчанию) — Функция транспонирует и чередования (для изображений RGB) столбец главные данные mxArray
в строку главный объект cv::Mat
.
ложь
Никакие данные не копируют от mxArray
до объекта Mat
. Функция создает новую обертку Mat
и использует ее, чтобы указать на данные mxArray
. Поскольку OpenCV основан на строке, и MATLAB основан на столбце, столбцы mxArray
становятся строками объекта Mat
. Если изображение 2D, то copyData
является false
.
out
Ссылка на OpenCV cv::Mat
со строкой главные данные.
Функции, которые устанавливают copyData
, возвращают интеллектуальный указатель OpenCV (cv::Ptr
) в объект cv::Mat
.
Функция ocvMxArrayToMat_{DataType}
применяется к двум реализациям C++. Один набор возвращает void
, и другой набор возвращает интеллектуальный указатель OpenCV. Функции, которые возвращают void
, перераспределяют память для cv::Mat
в случае необходимости.
ocvMxArrayToMat_{DataType}
транспонирует и чередует столбец главные данные mxArray
в строку главный cv::Mat
. Это матричное преобразование является типичной стандартной программой для любого количества каналов.
mxArray
, ocvMxArrayToImage_{DataType}
, ocvMxArrayFromMat_{DataType}
, C матричный API (MATLAB), приложения файла MEX на C (MATLAB)