OpenCVを使用してテキストからイメージを作成しようとしています。イメージには、オーバーレイをマージする必要がある場合とない場合があります。テキストのフォントは、OpenCVのC++インターフェイスに付属するHERSHEYテキストと異なる必要があります。 this postなどで、cvFontQtとcvAddTextを使用して実行できることがわかりました。OpenCV:VS2015 x64ビルドでWindows 10でcvFontQtとcvAddTextでQtライブラリを使用するとテキストが表示されない
私はOpenCV 2.4.13とQt 5.6を使用しています。サンプルコードでIは出力cvFontQtとcvAddTextを用いcvFontハーシーしかし第二線とcvPutTextを使用して第1行目と3行目は表示されませんことができ未満です。
#include "stdafx.h"
#include "opencv2\core\core_c.h"
#include "opencv2\highgui\highgui_c.h"
int main()
{
// Create a window for a container to hold the image
cvNamedWindow("cvtest", CV_WINDOW_AUTOSIZE);
IplImage *img = cvCreateImage(cvSize(600, 300), IPL_DEPTH_64F, 4);
// Set the image background to white
cvSet(img, cvScalar(255, 255, 255));
CvFont font;
cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 0.5, 0.5);
cvPutText(img, "cvInitFont; cvPutText: First line.", cvPoint(4, 30), &font, cvScalar(255));
CvFont fontqt = cvFontQt("Courier New", -1, cvScalar(0,0,255), CV_FONT_NORMAL, CV_STYLE_NORMAL, 0);
cvAddText(img, "cvFontQV; cvAddText: Second line.", cvPoint(4, 60), &fontqt);
cvPutText(img, "cvInitFont; cvPutText: Third line.", cvPoint(4, 90), &font, cvScalar(255));
cvShowImage("cvtest", img);
cvWaitKey(0);
cvSaveImage("C:\\OpenCvTest64F.jpg", img);
// Cleanup
cvDestroyAllWindows();
cvReleaseImage(&img);
return 0;
}
得られた画像( "C:\ OpenCvTest64F.jpg"):
私が誤っcvFontQt又はcvAddTextを使用していますか?それが画像に表示されない理由についての考えはありますか?
ありがとうございます!それがトリックでした。私はC++ apiがはるかに良いことに同意します。モノスペースのフォントが必要ない場合、私はそれを使用します。 – Tom