首页 > 技术文章 > convertTo

fdd566 2017-04-06 15:16 原文

转自 http://blog.csdn.net/xiaxiazls/article/details/51204265

  在使用Opencv中,常常会出现读取一个图片内容后要把图片内容的像素信息转为浮点并把当前的mat作为矩形进行矩阵计算,那么这里就有一个类型转换问你,在新的opencv中

mat有一个函数可以用于类型的相互转换

ConvertTo

oclMat::convertTo(oclMat& m, int rtype, double alpha=1, double beta=0)
m:转为目标数据类型的矩阵;
rtype: 指定目标数据类型,或者是depth(通道数),如果rtype:是负值,那么目标矩阵的数据类型和源矩形的数据类型是一致的;
alpha:基于尺度的变化值;
beta:在尺度上的加和;

比如:

 

[cpp] view plain copy
 
 在CODE上查看代码片派生到我的代码片
    1. cv::Mat matTemp = cv::Mat::zeros(100,100,CV_32F); //得到一个浮点型的100*100的矩阵  
    2. cv::Mat MatTemp2;  
    3. matTemp.convertTo(MatTemp2, CV_8U); //把矩阵matTemp转为unsing char类型的矩阵,注在转换过程中有可能数值上会出现一些变化,这个要注意  

推荐阅读