Je complotais actuellement des ellipses dans un fond blanc ainsi que l'axe X et Y avec OpenCV comme ceci:ellipses Traçage avec transparence OpenCV
Mat image = Mat::zeros(size,size, CV_8UC3);
image.setTo(Scalar(255,255,255)); /* White background */
/* Draw Axis */
line(image,
Point(originX, 0), /*Point 1*/
Point(originX, size), /*Point 2*/
Scalar(colorAxis.B,colorAxis.G,colorAxis.R), /*Color*/
1, /*Thickness*/
8); /*lineType*/
line(image,
Point(0, originY), /*Point 1*/
Point(size, originY), /*Point 2*/
Scalar(colorAxis.B,colorAxis.G,colorAxis.R), /*Color*/
1, /*Thickness*/
8);
for(i=0; i<numEllipses; i++)
{
ellipse(image,
Point(originX + dataEllipse[k].center[0]*ppu, originY - dataEllipse[k].center[1]*ppu),
Size(dataEllipse[k].axis[0]*ppu, dataEllipse[k].axis[1]*ppu),
-dataEllipse[k].angle,
0,
360,
Scalar(colorEllipse.B, colorEllipse.G, colorEllipse.R),
-1,
CV_FILLED);
}
imshow("Result", image);
waitKey(1);
Le présent est qu'il ya un nombre N de points de suspension et ils chevauchement. De plus, il y a une valeur de poids qui correspond à une couleur (du bleu au rouge). Je voudrais utiliser cette valeur de poids pour l'utiliser aussi comme un paramètre alpha. Pour ce que j'ai vu, il est possible d'utiliser une fonction addWeigth mais c'est entre deux images et je voudrais le faire avec les ellipses. Y at-il un moyen de le faire ou je devrais avoir une image par ellipse et utiliser addWeigth avec image0 et image1, puis (image0 et image1) et image2 et ainsi de suite?
Merci pour l'aide.
rendre chaque ellipse à une image différente et utiliser addWeighted sur ces images! – Micka
addWeight prend deux images à la fois, non? Si c'est comme ça, je devrais avoir l'arrière-plan avec l'axe dans l'image [0], et de l'image [1] à l'image [numEllipses] chaque ellipse puis faire une boucle addWeight (image [0], image [ n])? – aripod
Cela n'a pas fonctionné .... Je me retrouve avec la transparence de la dernière ellipse pour chacun d'eux – aripod