Bonjour, s'il vous plait a nouveau j'ai besoin votre coup de main pour corriger une erreur dans mon petit code pour pouvoir marcher. au faite j'aimerai copier les valeurs de chaque pixel dans une matrice de x ligne et de y colonne il me signale l'erreur suivante: 1 IntelliSense: no suitable conversion function from "cv::Mat" to "const CvArr *" exists voici mon code
void image2mat(Mat image)
{
double **matrice;
int ligne, colon;
ligne = image.size().width;
colon = image.size().height;
IplImage img = image;
CvScalar pixel_val;
int x, y;
for (x = 0; x<ligne; x++)
for (y = 0; y<colon; y++)
{
pixel_val = cvGet2D(image, y, x);// il me signale l'erreur a ce viveau
matrice[x][y] = pixel_val.val[0];
}
}
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ICI
paly2
Messages postés254Date d'inscriptionvendredi 29 août 2014StatutMembreDernière intervention15 février 2018 3 juil. 2016 à 21:09
Le premier paramètre de la fonction cvGet2D doit être un pointeur sur CvArr. Tu dois donc convertir ton image, et tu le fais, ligne 7, mais tu ne passes pas la variable convertie.
Utilise donc :
pixel_val = cvGet2D(&img, y, x);
La seule différence est que j'ai remplacé image par &img.