Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1728 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  question en opencv

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

question en opencv

n°1868695
mihabi
Posté le 02-04-2009 à 14:32:27  profilanswer
 

Bonjour a tous.
svp,si quelqu'un peut m'aider  
j'ai ecris un code en c++utilisant opencv ,et j'ai affronte un probleme :
lorsque je fais genere mon programe ,la generation donne :1 reussi ,0 echoue ,donc c'est bon
mais lorsque je fais Deboguer :il ouvre une fenetre noire qui dit:
Assertion failed :<unsigned>row && <unsigned >col < <unsigned>mat->cols,filec:\program files \opencv\cxcore\include\cxtypes.h,line 668
et une autre fenetre :Microsoft Visual c++ Debug Library
                              Program:..Mes documents\visual Studio 2008\Projects\AA\Debug\AA.exe
                              This application has requested the runtime to terminate it in an unsual way,Please contact the application support team  
                              for more information.
et voici une partie du code qui a provoque ce probleme :
#include "stdafx.h"
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
#include <math.h>
#include <iostream>
#include <vector>
#include "stdlib.h"
#include <stdio.h>
using namespace std;
double gauss(double x,double s)
{  
 
 double a=pow(x,2);
 double b=2*pow(s,2);
 double c=s*sqrt(2*3.14);
 double e=exp(-a/b);
 double y=e/c;
 return y;
}
double dgauss(double x,double s)
{  
  double d=(-x*gauss(x,s))/pow(s,2);
     return d;
}
 
 
double gauss2D(double x,double y,double s)
{ double r=sqrt(pow(x,2)+pow(y,2));
  return gauss(r,s);
}
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{IplImage* image=0;  
image=cvLoadImage("C:\img.PNG",0);
cvNamedWindow("Image:", 1 );
cvShowImage( "Image:", image );
if(!image) return -1;
IplImage* destgx    = cvCloneImage( image );  
IplImage* destgy    = cvCloneImage( image );
IplImage* destggx    = cvCloneImage( image );
IplImage* destggy    = cvCloneImage( image );
IplImage* destgg2   = cvCloneImage( image );
IplImage* destg4  = cvCloneImage( image );
int i;
int j;
int k;
int l;
double u[2];
double pixelcarre;
double size;
double sigma=0.5;
double sigmaT=0.5;
double halfsize;
double val;
double valpos;
double t;
double dd,r;
double somme=0;
halfsize=2;
size = 2*halfsize+1;
CvMat* H = cvCreateMat(size,size,CV_32FC1);
 
for(i=1;i<=size;i++)
for(j=1;j<=size;j++)
{ u[0]=i-halfsize-1;
  u[1]=j-halfsize-1;
  val=gauss(u[0],sigma)*dgauss(u[1],sigma);
  valpos=abs(val);
  cout<<val;
  //on a rempi la matrice directement avec les valeurs positives
 cvmSet(H,i,j,valpos);
//  cout<<t;
}
 
 
cvWaitKey(100);
return 0;
}
et j'ai verifie que la cause de ce probleme est cette ligne:cvmSet(H,i,j,valpos);
Donc comment faire? si quelqu'un peut m'aider .
Et un Grand Merci d'avance.

mood
Publicité
Posté le 02-04-2009 à 14:32:27  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  question en opencv

 

Sujets relatifs
Question de base pour débuterPetite question sur stockage de mots de passe
Question sur niveau necessaire en JAVAquestion sur les classes
Question toute bete, avec un While & ForQuestion de noob html, css... (javascript??)
Question : quelles technologies utiliser pour mon problème ?Question menu accordeon Jquery
Question débile - fonctions membres C++Une question sur les suites/chaine de caracteres:)
Plus de sujets relatifs à : question en opencv


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR