opencv中Mat类型转换

1.Mat不同数据类型之间的转换

缩放并转换到另外一种数据类型。如果输入数组与输出数组的类型相同,则函数可以被用于缩放和平移矩阵或图像。

主要函数:convertTo()

函数原型:Mat::convertTo(OutputArray _dst, int _type, double alpha, double beta)

参数解释:
                   _dst:目的矩阵;
                   _type:需要的输出矩阵类型,或者更明确的,是输出矩阵的深度,如果是负值(常用-1)则输出矩阵和输入矩阵类型相同;
                   alpha:尺度变换因子(可选);默认值是1。即把原矩阵中的每一个元素都乘以alpha。
                   beta:将输入数组元素按比例缩放后添加的值(可选);默认值是0。即把原矩阵中的每一个元素都乘以alpha,再加上beta。
                   dst(i)=src(i)alpha+(beta)

如果scale=1,shift=0,则不进行比例缩放。
 

例:cv::Mat src, src_f; 
image.convertTo(src_f, CV_32F, 1, 0);
图像大小没有变化,但是类型变为了FLOAT32位。

2.Mat与其他数据类型之间的转换

1)vector转为Mat:

std::vector<int> vec0(10,2); //10个2
cv::Mat mat0;
mat0 = cv::Mat(vec0, true);

2)Mat转为vector:

std::vector<int> vec1;
vec1 = mat0.reshape(1, 1);

说明:vec0与vec1完全一样。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值