使用隨機函數進行描繪線條--OpenCV004

    生成隨機數 cv::RNG
    生成高斯隨機數gaussian(double sigma)
    生成正態分佈隨機數uniform(int a,int b); 在a-b之間生成隨機數

void DrawRandomLine(Mat& Img)
{
    //生成隨機數 cv::RNG
    //生成高斯隨機數gaussian(double sigma)
    //生成正態分佈隨機數uniform(int a,int b); 在a-b之間生成隨機數
    RNG rng(12345);
    Point p1, p2;


    for (int i = 0;i < 100000;i++)
    {
        //創造任意的P1 P2點
        p1.x = rng.uniform(0, Img.cols);
        p2.x = rng.uniform(0, Img.cols);
        p1.y = rng.uniform(0, Img.rows);
        p2.y = rng.uniform(0, Img.rows);

        //創造任意的顏色
        Scalar color = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));

        if (waitKey(50) > 0)  //按鍵按下就停止
            break;

        line(Img, p1, p2, color, 1, LINE_AA); //畫線
        imshow("Random line", Img);
    }

}

效果如下

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章