私は opencv 2.1 を使用しています。私のコードには、次のように初期化された Mat オブジェクトとして保存された画像がいくつかあります。
Mat img1 = imread("img/stuff.pgm", CV_LOAD_IMAGE_GRAYSCALE);
マトリックス操作が完了したら、imshow() を使用して適切に表示できます。次に、何が起こったかを説明するテキストを画像に追加します。ドキュメントを見ると、cvPutText()
必要な関数のようです。しかし、次のようなことを試した場合:
cvPutText(result, "Differencing the two images.", cvPoint(30,30), &font, GREEN);
次のコンパイル エラーが発生します。error: cannot convert ‘cv::Mat’ to ‘CvArr*’ for argument ‘1’ to ‘void cvPutText(CvArr*, const char*, CvPoint, const CvFont*, CvScalar)’
この画像を表示するときにテキストを追加できるようにするには、何をする必要がありますか?
ベストアンサー1
私は間違った場所を見ていました。新しいところで答えを見つけましたcpp の OpenCV ドキュメントcv::Mat オブジェクトを受け入れる putText() という新しい関数があります。そこで、次の行を試してみたところ、うまくいきました。
putText(result, "Differencing the two images.", cvPoint(30,30),
FONT_HERSHEY_COMPLEX_SMALL, 0.8, cvScalar(200,200,250), 1, CV_AA);
これが誰かの役に立つことを願います。