我对 C++ 和一般编码相对较新,并且在尝试将图像转换为浮点图像时遇到了问题。我试图通过计算图像像素强度的平均值和标准偏差来消除舍入误差,因为它开始对数据产生相当大的影响。我的代码如下。
Mat img = imread("Cells2.tif");
cv::namedWindow("stuff", CV_WINDOW_NORMAL);
cv::imshow("stuff",img);
CvMat cvmat = img;
Mat dst = cvCreateImage(cvGetSize(&cvmat),IPL_DEPTH_32F,1);
cvConvertScale(&cvmat,&dst);
cvScale(&dst,&dst,1.0/255);
cvNamedWindow("Test",CV_WINDOW_NORMAL);
cvShowImage("Test",&dst);
我遇到了这个错误
OpenCV 错误:未知函数中的错误参数(数组应为 CvMat 或 IplImage),文件 ......\modules\core\src\array.cpp,第 1238 行
我到处寻找,每个人都说将 img 转换为我在上面尝试过的 CvMat。当我按照上面的代码显示时,我得到 OpenCV Error: Bad argument (Unknown array type) in unknown function, file ......\modules\core\src\matrix.cpp line 697
提前感谢您的帮助。