openCV関数cvPutTextを使用していますが、実行されないか、すばやく上書きされるようです。ここに私のコードブロックがあります:この場合、なぜcvPutTextが機能しないのですか?
...
if(showResult==1){
cvNamedWindow("Znak", CV_WINDOW_AUTOSIZE);
cvShowImage("Znak", znak);
if(result == 0){
ascii_result = "A";
cvSet(znak, cvScalar(26,26,26));
cvPutText(znak, "A", cvPoint(13, 185), &font, cvScalar(255, 166, 44, 0));
printf("A working");
}
if(result == 1){
ascii_result = "B";
cvSet(znak, cvScalar(26,26,26));
cvPutText(znak, "B", cvPoint(13, 185), &font, cvScalar(255, 166, 44, 0));
printf("B working");
}
...
これはループではありません。問題は、ウィンドウ「Znakが」作成されていること、であるが、cvSet()とcvPutTextので、私は唯一のそのdeafultグレー色
'result'の値は何ですか? 'printf'への呼び出しはコンソールに何かを印刷しますか? –
結果を0または1にすることができます。printfは正常に動作しており、文字列はascii_resultに割り当てられています。 cvSetとcvPutTextだけが実行されません。おそらくそれらは実行されますが、上書きされますが、cvSetが実行されると、新しいcvSetが呼び出されるまで、ウィンドウ全体が黒色で塗りつぶされるため意味がありません。 – OpenMinded
cvWaitKey(0)を挿入すると、cvSetが実行されているかどうかを確認できます。あなたが何かキーを押すまで、プログラムはこのステートメントにとどまります。 – bubble