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