OpenCV1.x中的cvConvertScale()本来是用于对图像进行线性尺度变换的,但可使用它间接地将图像的数据类型由u8转化为64f。
实例代码为:
cvConvertScale(src, dst);
怎么转换的?看下面的这段指自官方文档中的话你就知道了,特别是红色部分的话哈!
void cvConvertScale(const CvArr* src, CvArr* dst, double scale=1, double shift=0)
#define cvCvtScale cvConvertScale
#define cvScale cvConvertScale
#define cvConvert(src, dst ) cvConvertScale((src), (dst), 1, 0 )
Parameters
src – Source array
dst – Destination array
scale – Scale factor
shift – Value added to the scaled source array elements
The function has several different purposes, and thus has several different names. It copies one array to another with optional scaling, which is performed first,and/or optional type conversion, performed after:
dst(I) = scale*src(I) + shift
注意:只有"dst"为64F时,它才会转换,即“dst = cvCreateImage(cvGetSize(pSrcImage), IPL_DEPTH_64F,1);”时,才转换!
图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782
图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601