私は 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
私はいたるところを見てきましたが、誰もが私が上で試みた CvMat に img を変換するように言っていました。上記のコードが示すようにそれを行うと、 OpenCV Error: Bad argument (Unknown array type) in unknown function, file ......\modules\core\src\matrix.cpp line 697 が表示されます
事前にご協力いただきありがとうございます。