Рисование линии на белом изображении в OpenCV

Я пытаюсь нарисовать график на чистом изображении, используя метод 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);

Когда я запускаю этот код, все, что я получаю, это белое изображение, без сюжета.

0

Решение

Я смог исправить это, объявив i и holder [i] внутри цикла for, перед методом cvLine.

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);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]