#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
static Scalar randomColor(RNG& rng)
{
int num = (unsigned)rng;
return Scalar(num&255,(num>>8)&255,(num>>16)&255);
}
int Drawing_random_lines( Mat & image ,const char * window_name, RNG rng)
{
Point a,b;
int upper = 200;
int lower = 2;
int linetype = 8;
int drawn_line_num = 3;
while(drawn_line_num -- )
{
a.x = rng.uniform(lower,upper);
a.y = rng.uniform(lower,upper);
b.x = rng.uniform(lower,upper);
b.y = rng.uniform(lower,upper);
line(image,a,b,randomColor(rng),rng.uniform(1,10),linetype);
}
imshow(window_name,image);
return 0;
}
int main(int argc, char const *argv[])
{
Mat a = Mat::zeros(255,255,CV_8UC3);
RNG rng(0xFFFFFFFF);
const char * window_name = "Drawing_random_lines";
int c = Drawing_random_lines(a,window_name,rng);
waitKey(); // 如果waitkey()放在了 drawing_random_line函数里,就会return 0 返回了。。。
return 0;
}
opencv 画随机线条 ---tutorial里面有例子,同时了解了RNG
最新推荐文章于 2019-07-12 11:14:44 发布