0

我正在尝试在空白图像上绘制图形,使用 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);

当我运行这段代码时,我得到的只是一张白色的图像,没有情节。

4

1 回答 1

0

I was able to fix it by declaring i and holder[i] inside the for loop, before the cvLine method.

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);
}  
于 2013-06-13T14:12:43.193 回答