0
我正在使用C API開發OpenCV應用程序。我試圖讓我的cvLine
函數具有隨機厚度,因此第一次繪製它的厚度將爲3,第二次可能爲10.現在,每次繪製它時厚度都是均勻的。我嘗試過實施cvRandInt
,但即使通過研究,我也無法理解如何使用此功能。隨機線條粗細-OpenCv
CvRNG rng;
int thickness=cvRandInt(&rng);
IplImage* imgScribble = NULL;
while(true)
{
IplImage *frame=0;
frame=cvQueryFrame(capture);
if(!frame) break;
if(imgScribble == NULL)
{
imgScribble = cvCreateImage(cvGetSize(frame), 8, 3);
}
// Holds the yellow thresholded image
IplImage* imgYellowThresh1 = GetThresholdedImage1(frame,1);
double moment10 = cvGetSpatialMoment(moments_yellow, 1, 0);
double moment01 = cvGetSpatialMoment(moments_yellow, 0, 1);
double area = cvGetCentralMoment(moments_yellow, 0, 0);
int lastX = posX;
int lastY = posY;
posX = moment10/area;
posY = moment01/area;
if(lastX>0 && lastY>0 && posX>0 && posY>0)
{
cvLine(imgScribble, cvPoint(posX, posY), cvPoint(lastX, lastY), cvScalar(10,255,255), thickness,CV_AA, 0);
}
好像線僅在我已經更新上述代碼中,我已測試,它很好地工作的最大數目 – user2645586
繪製的厚度。 –
謝謝安德烈。隨機代碼的作品,但我使用的顏色跟蹤代碼在這個循環內混淆,不再追蹤顏色。有任何想法嗎? – user2645586