【发布时间】:2013-05-30 22:48:38
【问题描述】:
我对 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 错误:未知函数中的参数错误(未知数组类型),文件 ......\modules\core\src\matrix.cpp 第 697 行
提前感谢您的帮助。
【问题讨论】: