Преобразовать основной столбец mxArray в строку major cv::Mat для изображения
#include "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 ® ,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Ссылка на OpenCV cv::Mat с основными данными строк.
Задаваемые функции 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, C MEX файловые приложения