Bonjour à tous,
Je vous écris pour solliciter vos lumière
Je souhaite réaliser un logiciel d'alignement d'images.
Pour ce faire j'utilise opencv2.0.
Mon premier objectif est de réaliser une rotation sur une image à partir d'un point précis.
J'ai donc réalisé la fonction suivante.
Le problème réside dans la dernière ligne qui me génère une belle erreur de pointeur. Alors après avoir bien réfléchis je pense que je n'affecte pas correctement la matrice à l'image dans la fonction cvGetImage. Où alors je n'ai rien compris!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
void ImageCV::rotationImage(int angle,int x,int y)
{
        CvPoint center;
	Mat matImg(image);
	Mat imgTemp(image);
 
	double scale=1;
	center.x = x;
	center.y = y;
	Mat matRotation = getRotationMatrix2D(center,angle,scale);
	warpAffine(matImg,imgTemp,matRotation,cvGetSize(image));
 
	CvMat matResultat=imgTemp;
	image = cvGetImage(&matResultat,image);
 
	cvNamedWindow("Image temp ", CV_WINDOW_AUTOSIZE);
        cvShowImage("Image temp ", &image);
Dans tout les cas votre aide serez la bienvenue parce que je ne sais pas trop quoi faire pour résoudre ce problème.
Merci d'avance.