ocvMxArrayToImage_{DataType}
Convert column major mxArray to row major
cv::Mat for image
C++ Syntax
#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);
Arguments
inPointer to a MATLAB® struct,
mxArray, having column major data that represents a 2-D or 3-D image. Supported data types:real_T(double)uint8_T(uint8)uint32_T(uint32)int16_T(int16)real32_T(single)uint16_T(uint16)int8_T(int8)int32_T(int32)copyDataBoolean flag to copy data from
mxArrayto theMatobject.true(default) — The function transposes and interleaves (for RGB images) column majormxArraydata into a row majorcv::Matobject.false— No data copies from themxArrayto theMatobject. The function creates a newMatwrapper and uses it to point to themxArraydata. Because OpenCV is row-based and MATLAB is column-based, the columns of themxArraybecome the rows of theMatobject. If the image is 2-D, thencopyDataisfalse.
outReference to OpenCV
cv::Matwith row major data.
Returns
The functions that set copyData return an OpenCV smart pointer
(cv::Ptr) to a cv::Mat object.
Description
The ocvMxArrayToImage_{DataType} function applies to two C++
implementations. One set returns void and the other set returns an
OpenCV smart pointer. The functions that return void reallocate
memory for the cv::Mat if needed.
The ocvMxArrayToImage_{DataType} transposes and interleaves
column major mxArray data into row major
cv::Mat. The ocvMxArrayToImage_{DataType}
function supports 2-D and 3-D images.
These functions are not a generic matrix conversion routine. For 3-D images, they take into account that the OpenCV format uses BGR ordering and manipulate the data to comply with that formatting.
See Also
mxArray, ocvMxArrayToMat_{DataType}, ocvMxArrayFromImage_{DataType}, C Matrix API,
Write C Functions Callable from MATLAB (MEX Files)
Version History
Introduced in R2015a