Преобразуйте основной столбец mxArray
в основную строку cv::Mat
для стандартной матрицы
# включить «opencvmex.hpp»
void ocvMxArrayToMat_double (const mxArray * in, cv::Mat & out);
void ocvMxArrayToMat_single (const mxArray * in, cv::Mat & out);
void ocvMxArrayToMat_uint8 (const mxArray * in, cv::Mat & out);
void ocvMxArrayToMat_uint16 (const mxArray * in, cv::Mat & out);
void ocvMxArrayToMat_uint32 (const mxArray * in, cv::Mat & out);
void ocvMxArrayToMat_int8 (const mxArray * in, cv::Mat & out);
void ocvMxArrayToMat_int16 (const mxArray * in, cv::Mat & out);
void ocvMxArrayToMat_int32 (const mxArray * in, cv::Mat & out);
void ocvMxArrayToMat_bool (const mxArray * in, cv::Mat & out);
cv:: Ptr < cv:: Mat > ocvMxArrayToMat_double (const mxArray * in, const bool copyData = true);
cv:: Ptr < cv:: Mat > ocvMxArrayToMat_single (const mxArray * in, const bool copyData = true);
cv:: Ptr < cv:: Mat > ocvMxArrayToMat_uint8 (const mxArray * in, const bool copyData = true);
cv:: Ptr < cv:: Mat > ocvMxArrayToMat_uint16 (const mxArray * in, const bool copyData = true);
cv:: Ptr < cv:: Mat > ocvMxArrayToMat_uint32 (const mxArray * in, const bool copyData = true);
cv:: Ptr < cv:: Mat > ocvMxArrayToMat_int8 (const mxArray * in, const bool copyData = true);
cv:: Ptr < cv:: Mat > ocvMxArrayToMat_int16 (const mxArray * in, const bool copyData = true);
cv:: Ptr < cv:: Mat > ocvMxArrayToMat_int32 (const mxArray * in, const bool copyData = true);
cv:: Ptr < cv:: Mat > ocvMxArrayToMat_uint8 (const mxArray * in, const bool copyData = true);
in
Указатель на MATLAB® struct, 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
объект.
false
- Нет копий данных из mxArray
на Mat
объект. Функция создает новую Mat
обертка и использует ее, чтобы указать на mxArray
данные. Поскольку OpenCV основан на строках, а MATLAB основан на столбцах, столбцы mxArray
стать строками Mat
объект. Если изображение 2-D, то copyData
является false
.
out
Ссылка на cv::Mat OpenCV
с основными данными строки.
Функции, которые задают 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 Matrix API, Файл MEX на C Applications