使用cvPutText()
我正试图在屏幕上打印文本,但不断出现错误 有人能帮我写代码吗使用cvPutText(),c,opencv,raspberry-pi,C,Opencv,Raspberry Pi,我正试图在屏幕上打印文本,但不断出现错误 有人能帮我写代码吗 cvNamedWindow("Result", CV_NORMAL); cvMoveWindow("Result", 350,300); cvRectangle(img, cvPoint(0,0), cvPoint(2600,2000),cvScalarAll(255), CV_FILLED,8,0); cvShowImage("Result", img); cvPutText(img, mytext,cvPoint(100,100)
cvNamedWindow("Result", CV_NORMAL);
cvMoveWindow("Result", 350,300);
cvRectangle(img, cvPoint(0,0), cvPoint(2600,2000),cvScalarAll(255), CV_FILLED,8,0);
cvShowImage("Result", img);
cvPutText(img, mytext,cvPoint(100,100),CV_FONT_HERSHEY_SIMPLEX,cvScalarAll(0));
cvWaitKey(0);
我得到的错误是
OpenCV Error: Assertion failed (text != 0 && _font != 0) in cvPutText, file /build/opencv-XZa2gn/opencv-2.3.1/modules/core/src/drawing.cpp, line 2375
terminate called after throwing an instance of 'cv::Exception'
what(): /build/opencv-XZa2gn/opencv-2.3.1/modules/core/src/drawing.cpp:2375: error: (-215) text != 0 && _font != 0 in function cvPutText
Aborted
试试这个,这是一个有效的例子:
char text = 'World';
char buffer[25];
sprintf(buffer, "Hello %c", text);
CvFont font;
cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 0.5, 0.5);
cvPutText(image, buffer, cvPoint(2, 2), &font, cvScalar(255));
试试这个,这是一个有效的例子:
char text = 'World';
char buffer[25];
sprintf(buffer, "Hello %c", text);
CvFont font;
cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 0.5, 0.5);
cvPutText(image, buffer, cvPoint(2, 2), &font, cvScalar(255));
<>你把C-API中的定义与C++一个混淆了。 作废cvPutText(CvArr*img、常量字符*text、CvPoint org、常量CvFont*font、CvScalar color) 你需要打电话:
以前 > P>您将C-API中的定义与C++一个混淆了。 作废cvPutText(CvArr*img、常量字符*text、CvPoint org、常量CvFont*font、CvScalar color) 你需要打电话:
以前非常感谢,我用C,上面的代码看起来像C++。而且,当我尝试时,编译器不识别它。抱歉,我没有看到,而且因为C++被更多地使用,我建议你也会使用它。我编辑了上面的代码。很多谢谢,我用C,上面的代码看起来像C++。而且,当我尝试时,编译器不识别它。抱歉,我没有看到,而且因为C++被更多地使用,我建议你也会使用它。我编辑了上面的代码,一开始我调用了cvInitFont()函数,vFontfont=CV\u FONT\u HERSHEY\u SIMPLEX;int font\u face=CV\u font\u斜体;charmytext=“你好,世界”;int厚度=1;双刻度=4;双hscale=2;双vscale=3;双剪=0;int line_type=8;void cvInitFont(CvFont*font,int-font\u-face,double-hscale,double-vscale,double-shear,int-thickness,int-line\u-type)“我调用了cvInitFont()函数”-不,你没有。正如你所看到的,我对C不太流利,但至少在努力学习,所以如果你能帮忙,非常感谢你的帮助。我已经调用了cvInitFont()函数开始时,vFontfont=CV\u FONT\u HERSHEY\u SIMPLEX;int font\u face=CV\u font\u斜体;charmytext=“你好,世界”;int厚度=1;双刻度=4;双hscale=2;双vscale=3;双剪=0;int line_type=8;void cvInitFont(CvFont*font,int-font\u-face,double-hscale,double-vscale,double-shear,int-thickness,int-line\u-type)“我调用了cvInitFont()函数”-不,你没有。正如你所看到的,我对C不太流利,但至少在努力学习,所以如果你能帮忙,非常感谢你的帮助。