随机产生器和文本

目标

  • Use the Random Number generator class (cv::RNG ) and how to get a random number from a uniform distribution.
  • Display text on an OpenCV window by using the function cv::putText

代码

int cv::waitKey ( int delay = 0 ): 返回按键值或者-1(时间走完仍没有按键)

if (waitKey(DELAY) >= 0)
        {
            return -1;
        }

这样根据返回值,随时可以结束。
RNG rng( 0xFFFFFFFF ):RNG implements a random number generator. In this example, rng is a RNG element initialized with the value 0xFFFFFFFF

{
  int lineType = 8;
  for ( int i = 1; i < NUMBER; i++ )
  {
    Point org;
    org.x = rng.uniform(x_1, x_2);
    org.y = rng.uniform(y_1, y_2);
    putText( image, "Testing text rendering", org, rng.uniform(0,8),
             rng.uniform(0,100)*0.05+0.1, randomColor(rng), rng.uniform(1, 10), lineType);
    imshow( window_name, image );
    if( waitKey(DELAY) >= 0 )
      { return -1; }
  }
  return 0;
}

一个window可以持续写入多个imshow,仍是同一个Mat。

int Displaying_Big_End( Mat image, char* window_name, RNG rng )
{
  Size textsize = getTextSize("OpenCV forever!", FONT_HERSHEY_COMPLEX, 3, 5, 0);
  Point org((window_width - textsize.width)/2, (window_height - textsize.height)/2);
  int lineType = 8;
  Mat image2;
  for( int i = 0; i < 255; i += 2 )
  {
    image2 = image - Scalar::all(i);
    putText( image2, "OpenCV forever!", org, FONT_HERSHEY_COMPLEX, 3,
           Scalar(i, i, 255), 5, lineType );
    imshow( window_name, image2 );
    if( waitKey(DELAY) >= 0 )
      { return -1; }
  }
  return 0;
}

Mat变了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 班里一个男孩子,很聪明,基础不太好,三科中数学最好。一次他在写作业时,我从他身边路过,发现他做的数学题,解题过程都...
    云淡风轻_ac73阅读 125评论 0 0
  • 天上的星星不说话,地上的人儿在寻他。
    该起风了阅读 247评论 0 1
  • 月下褚酒欢言,晚风夕夕撩拨。 最是人间欢好,独留伊人眺望。
    唐糖兮阅读 241评论 0 0
  • 孤独有时候是自己制造的,多出去走走,多和人交流,心境或许大不一样,眼光也能放得更加宽广。
    3533988127f2阅读 190评论 0 0