chargement de image en opencv
Bonjour.
j'ai essaye la possibilite de preciser tout le path de l'image :
cvLoadImage("C:\Users\habib\Desktop\Image.PNG");
et la possibilite de mettre l'image dans le meme lieu ou je sauvegarde le programe.cpp:C:\Users\habib\Documents\Visual Studio 2005\Projects\HELLO\HELLO et j'ai ecri:
cvLoadImage( "Image.bmp");
mais ca n'a pas marche.
que je peux faire?
Merci beaucoup
question sur matrice d'une image
Bonjour a tous .
j'ai une image ,et je veux obtenir sa matrice pour changer ses elements,je veux mettre chaque element de cette matrice au carre.
comment je peux faire ? y at-il une solution?
Question sur la valeur de retour d'une fonction
Bonjour a Tous,et je vous remercie pour toute aide.
Jai ecri une fonction en C++ utilisant opencv ,cette fonction doit retourner une matrice ,or lorsque je fais Generer ,j'ai une erreur:
impossible de convertir 'CvMat * ' en 'CvMat'.
la fonction etait:
CvMat dXgauss2D(double sigma)
{
double size;
double halfsize;
sigma=0.5;
halfsize=2;
double u[2];
int i,j,k,l;
size = 2*halfsize+1;
double val;
double valpos;
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);
return H;
}
Donc comment faire pour avoir comme valeur de retour une matrice?
Et une autre question svp:
yat-il en opencv une fonction qui est equivqlente a cette fonction en matlab:
C = D - T
C = C > t
figure, imshow(C), title(sprintf('Points interest %g',i));
ou C ,D et T sont trois matrices.
Moi ,j'ai ecri ce code mais il est tres long:
cvSub(C , T, L);
scalaire.val[1]=1;
scalaire.val[2]=0;
for(i=1;i<=row;i++)
for(j=1;j<=col;j++)
{
scalaire = cvGet2D( L, i, j );
if(scalaire.val[0]>0)
{ cvSet2D( L, i,j,value1);
coord.val[0]=i;
coord.val[0]=j;
}
else cvSet2D( L, i,j,value );
}
et je ne suis pas sure qu'il est correct.
ces questions sont urgents pour moi ,si quelqu'un peut m'aider .
Merciiiiiii d'avance.
Probleme avec le debugger
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.
fonction equivalente a padarray en opencv
Bonjour a tous.
je veux utiliser dans mon programe C++ utlisant opencv une fonction qui est en matlab :
padarray(A,[3 2],'replicate','both')
est ce qu'il y a une fonction equivalente en opencv?
ou il faut la programer?
Merci d'avance.