【问题标题】:Write a string on IplImage在 IplImage 上写一个字符串
【发布时间】:2011-12-16 18:45:59
【问题描述】:

是否可以在 C/C++ 中使用 Opencv 2.1 在 IplImage 上写入字符串?

谢谢。

【问题讨论】:

    标签: c++ c opencv


    【解决方案1】:

    是的,cvPutText()

    CvFont font;
    double hScale=1.0;
    double vScale=1.0;
    int    lineWidth=1;
    cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX|CV_FONT_ITALIC, hScale,vScale,0,lineWidth);
    
    cvPutText (img,"My comment",cvPoint(200,400), &font, cvScalar(255,255,0));
    

    【讨论】:

    • 如果我有一个变量说“分数”在我的程序中发生变化,我可以使用 cvPutText 来显示它吗?要将分数打印到控制台,我会使用 printf("my score is %d",score)。有没有办法使用覆盖显示或覆盖必须是字符串?
    • cvPutText() 将覆盖图像,即它将更改图像数据。因此,如果您需要在静态图像上显示文本,我建议您制作图像的副本,然后在此副本中写入文本,这样您始终拥有清晰/原始的图像,不受影响。但是,如果您通过网络摄像头在帧中书写,则无需费心制作副本。
    • 是的,我明白这一点。只是想知道是否可以在 cvPutText 中使用 %d 来显示整数值。示例 CvPutText(" Score: %d", myscore etc
    • 不。您需要在调用 cvPutText 之前将该数字插入到字符串中。检查sprintf()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    • 2023-02-23
    • 1970-01-01
    相关资源
    最近更新 更多