Я использовал массив прямоугольника ниже грани контура, обнаруженный Хаара классификатором:Изменить данные пикселей прямоугольника в OpenCV
for(int i = 0; i < (objects ? objects->total : 0); i++)
{
CvRect* r = (CvRect*)cvGetSeqElem(objects, i);
cvRectangle(frame, cvPoint(r->x, r->y), cvPoint(r->x + r->width, r->y + r->height),colors[i%1]);
}
Но я хочу изменить данные пикселя каждого лица, обнаруженное в классификаторе т.е. изменить значения пикселей каждого прямоугольника в:
CvRect* r;
Я попытался:
for(int i = 0; i < (objects ? objects->total : 0); i++)
{
r[i];
for(int j = r->y; j < r->y + r->height; j++)
{
for(int k = r->x; k < r->x + r->width; k++)
{
frame->imageData[k*3] = 0;
frame->imageData[k*3+2] = 0;
}
}
}
т o сохранить только G-канал лица, но он говорит, что переменная 'r' не объявлена.