el contorno no es igual al contorno [i]?

Esto se basa enesta pregunta, que se está enfocando más en OpenCV C ++, así que decidí hacer esta pregunta. Esta es una parte de mi programa:

vector<vector<Point> > contours;
vector<vector<Point> > largest_contours;

double largest_area = 0;
for(int i= 0; i < contours.size(); i++){
    double area = contourArea(contours[i]);
    if(area >= largest_area){
        largest_area = area;
        largest_contours = contours[i];  <---THIS is the problem
    }
}

Básicamenteel programa haré

Escanea todos los contornos detectados en las secuencias de imágenes / videoEtiqueta los contornos comocontours[i]Calcula el área de todos los contornos.Compara elcontours[i] Basado en la zona. El área más grande se convierte enlargest_area y el contorno más grande se convertirálargest_contoursFinalmente,DrawContours yimshow

La línea con el problema mostrará este mensaje sobre el mouse:

Error: No operator "=" matches these operands

La pregunta es,por que es contours[i] no es igual a largest_contours a pesar de que tienen la misma clase (vector<vector<Point> >) y tiene solo un valor para cada contorno a la vez? ¿Alguien puede explicar por qué y cómo resolverlo?

Gracias por adelantado.

EDITAR (1): cambiadocontourArea(contours) acontourArea(contours[i]). Declaración agregada paralargest_contours ycontours.

Respuestas a la pregunta(2)

Su respuesta a la pregunta