zebra_zzh
2017-06-05 15:54
采纳率: 71.4%
浏览 2.7k
已采纳

关于opencv 中cvPutText函数的使用

他可以在图片上显示文字。我现在需要在视频显示,即显示鼠标所点击处的像素值,然而这个函数只能显示在每一帧上,很快就会被后一帧覆盖了,有什么办法能让他一直显示到下一次点击。。就剩一个c币了

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 一个纸杯 2017-06-05 16:04
    已采纳

    你视频播放应该是一个while循环显示每一帧吧,你在每一次循环的每一帧显示之前也就是imshow函数之前都调用cvPutText,显示相同的内容,直到下一次点击再改变它的内容。大致像下面这样吧,1.8的opencv不太熟,建议使用2.4以后版本的opencv吧。

    IplImage * frame;//帧
    string your_string;
    cvNamedWindow("img",0);
    
    CvFont font;
    cvInitFont(&font,CV_FONT_HERHEY_COMPLEX,0.5,0.5,1,2,8);
    while(1){
    cvPutText(frame,your_string,cvPoint(50, 50), &font, CV_RGB(255,0,0));
    cvShowImage("img",frame);
    cvWaitKey(0);
    }
    
    
    
    已采纳该答案
    打赏 评论
  • devmiao 2017-06-05 15:55
    打赏 评论
  • zebra_zzh 2017-06-05 16:04

    。。。谢了大哥,这篇我看过,不是我问的问题啊

    打赏 评论
  • 卡尼_Hu 2017-06-06 01:31

    每次显示图片之前先获取鼠标坐标,然后先把像素值putext到图片上再显示图片应该就可以了吧

    打赏 评论

相关推荐 更多相似问题