質問: sptmp[1] / seiki; merge(sptmp, 2, fur); // 逆フーリエ cv::idft(fur, fur); // 複素画像の実部虚部を二枚の画像に分離 Mat splitimg[2]; split(fur, splitimg); // 表示用 Mat out[2]; // フーリエ後を実部と虚部に分ける split(fur, out); // 表示用に正規化 Mat outd; normalize(out[0], outd, 0, 1, CV_MINMAX); imshow("dft", outd); imwrite("C:/opencv/image/out.jpg", outd); waitKey(-1); return 0; } ``` ### 試したこと 本来、imwriteを使う必要性はなく、上記プログラムを関数として呼び出し元画像と位相画像でマッチングするプログラムができればよいのですが、 その際にもエラーでうまく呼び出しができなかったため同じような理由かと思うに至りました。 ### 補足情報(言語/FW/ツール等のバージョンなど) OpenCV 3.3.0 VisualStudio2017
回答: imwriteの直前に`outd.convertTo(outd, CV_8U, 255);`を入れてやってください。