Преобразуйте столбец главный mxArray
, чтобы расположить в ряд главный cv::Mat
для изображения
#include "opencvmex.hpp"
освободите ocvMxArrayToImage_double (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToImage_single (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToImage_uint8 (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToImage_uint16 (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToImage_uint32 (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToImage_int8 (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToImage_int16 (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToImage_int32 (const mxArray *в, условная цена:: Циновка &out);
освободите ocvMxArrayToImage_bool (const mxArray *в, условная цена:: Циновка &out);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToImage_double (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToImage_single (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToImage_uint8 (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToImage_uint16 (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToImage_uint32 (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToImage_int8 (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToImage_int16 (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToImage_int32 (const mxArray *в, const bool copyData = верный);
условная цена:: Ptr <условная цена:: Циновка> ocvMxArrayToImage_bool (const mxArray *в, const bool copyData = верный);
in
Указатель на struct MATLAB®, mxArray
, имея столбец главные данные, которые представляют 2D или 3-D изображение. Поддерживаемые типы данных:
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
.
Функция ocvMxArrayToImage_{DataType}
применяется к двум реализациям C++. Один набор возвращает void
, и другой набор возвращает интеллектуальный указатель OpenCV. Функции, которые возвращают void
, перераспределяют память для cv::Mat
в случае необходимости.
ocvMxArrayToImage_{DataType}
транспонирует и чередует столбец главные данные mxArray
в строку главный cv::Mat
. Функция ocvMxArrayToImage_{DataType}
поддерживает 2D и 3-D изображения.
Эти функции не являются типичной матричной подпрограммой преобразования. Для 3-D изображений они учитывают, что формат OpenCV использует упорядоченное расположение BGR, и управляйте данными, чтобы выполнить то форматирование.
mxArray
, ocvMxArrayToMat_{DataType}
, ocvMxArrayFromImage_{DataType}
, C матричный API (MATLAB), приложения файла MEX на C (MATLAB)