在OpenCV C++接口中更改Mat类实例的dataype

sct*_*sct 5 c++ opencv image

如何更改在Mat类实例中存储像素时使用的数据类型?

例如,使用下面的行读取图像后

Mat I = imread(file,0);

我获得了带有unsigned char类型像素的灰度图像.我想将其改为双倍.

转换的最佳方式是什么?我无法找到这样做的功能.

提前致谢

Dat*_*Chu 20

这很简单.请参阅OpenCV网站上的文档.

基本上做

Mat double_I;
I.convertTo(double_I, CV_64F);
Run Code Online (Sandbox Code Playgroud)