首页 > 代码库 > mwArray和cv::Mat转化函数 20170812
mwArray和cv::Mat转化函数 20170812
不是新东西了,但是有必要专门把这两个函数拿出来记录一下。
需要注意的是,Mat2mwArry函数的输入Mat类型是 CV_8UC1,灰度图。
如果要传递多通道图像的话,需要先cv::split()成多个灰度图像分别传给matlab。
mwArray2Mat的返回Mat的类型是CV_64FC1,可以通过cv::Mat::convert()转化成所需要的类型。
mwArray Mat2mwArray(cv::Mat src) { CV_Assert(src.type() == CV_8UC1); mwArray dst(src.rows, src.cols, mxUINT8_CLASS); /// 初始化,可以理解成矩阵 cv::Mat src_t = src.t(); dst.SetData(src_t.data, src.rows*src.cols); /// 赋值 return dst; } cv::Mat mwArry2Mat(mwArray src, int rows, int cols) { if(src.IsEmpty()) /// 是否为空 return cv::Mat(); cv::Mat dst = cv::Mat::zeros(rows, cols, CV_64FC1); for(int j(0); j<rows; ++j) { double* pdata = http://www.mamicode.com/dst.ptr(j);>
mwArray和cv::Mat转化函数 20170812
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。