我是靠谱客的博主 无聊微笑,最近开发中收集的这篇文章主要介绍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 = dst.ptr<double>(j);
for(int i(0); i<cols; ++i)
{
pdata[i] = src(j+1,i+1); /// 元素访问(行号,列号)
}
}
return dst;
}

  

 

转载于:https://www.cnblogs.com/alexYuin/p/7350577.html

最后

以上就是无聊微笑为你收集整理的mwArray和cv::Mat转化函数 20170812的全部内容,希望文章能够帮你解决mwArray和cv::Mat转化函数 20170812所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部