在OpenCV中的白色图像上画一条线

时间:2013-06-12 13:46:38

标签: c++ opencv plot

我正在尝试在空白图像上绘制图形,使用cvLine方法从一点到另一点。 Holder []是一系列飞行器。我通过打印输出值来检查数组,因此它不是空的。

IplImage* blank = cvCreateImage(cvSize(640,480),IPL_DEPTH_8U,3); 
cvSet(blank, CV_RGB(255,255,255));

int i;
for (i = 0; i < height; i++) 
 {
cvLine(blank, cvPoint (i, holder[i]/100),  cvPoint (i+1, holder[i+1]/100), cvScalar(0,255,0),  8, 1);
 }

cvNamedWindow("Graph Title", 1);
cvShowImage("Graph Title", blank);
cvWaitKey(0);

当我运行此代码时,我得到的是一个白色图像,没有绘图。

1 个答案:

答案 0 :(得分:0)

我能够通过在cvLine方法之前在for循环中声明i和holder [i]来修复它。

for (i = 0; i < height; i++) 
{
int x1 = i;
int y1 = holder[i]/100;
int x2 = i + 1;
int y2 = holder[i+1]; 
cvLine(blank, cvPoint (x1, y1),  cvPoint (x2, y2), cvScalar(0,255,0),  8, 1);
}