Programmation en c++

amatorahman Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
amatorahman Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai un programme en c++ en utilisant la librairie openCV mais j'arrive pas à le compileri l me déclare l'erreur suivante
error C2446: ':' : no conversion from 'const char *' to 'const char'
There is no context in which this conversion is possible.
je vous donne aussi le code source que j'essaye à le compiler
#include <cv.h>
#include <highgui.h>
#include <math.h>
#include <cxcore.h>
#include <iostream>
int main( int argc,const char* argv )
{
CvPoint center;
double scale=-3;
IplImage *image =
cvLoadImage(argc == 2 ? argv[1] : "lena.jpg");

if(!image) return -1;

center = cvPoint(image->width/2,image->height/2);

for(int i=0;i<image->height;i++)
for(int j=0;j<image->width;j++)
{
double dx=(double)(j-center.x)/center.x;

double dy=(double)(i-center.y)/center.y;
double weight=exp((dx*dx+dy*dy)*scale);
uchar* ptr = &CV_IMAGE_ELEM(image,uchar,i,j*3);
ptr[0] = cvRound(ptr[0]*weight);
ptr[1] = cvRound(ptr[1]*weight);
ptr[2] = cvRound(ptr[2]*weight);
}
cvNamedWindow( "test", 1 );
cvShowImage( "test", image );
cvWaitKey();
return 0;
}
l'erreur est dans la ligne 10.
merci

5 réponses

Cisco
 
Salut,

Essaye d'enlever le "const" dans cette ligne
int main( int argc,const char* argv )
0
amatorahman Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour la réponse,j'essaye d'appliquer votre proposition mais sans résultat, l'erreur persiste!!!!
0
Cisco
 
Essaie ça:

int main(int argc, char *argv[])
0
amatorahman Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
merci, maintenat ça marche!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
amatorahman Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
c'est encore moi!!
bon, j'ai un autre code à compiler ,le voilà
// open.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <cv.h>
#include <highgui.h>
#include <cxcore.h>



int _tmain(int argc, _TCHAR* argv[]){

IplImage* frame = cvLoadImage("lena.png");

IplImage* objet = cvCreateImage( cvGetSize(frame),
IPL_DEPTH_8U , 1 );
IplImage* hsvFrame = cvCreateImage( cvGetSize(frame),
IPL_DEPTH_8U, 3 );

//Conversion BGR -> HSV
cvCvtColor( frame, hsvFrame, CV_BGR2HSV );
//Retourne l’image par rapport à X
cvFlip( hsvFrame, NULL, 0);
//Pour chaque pixel…
for(int y = 0; y < (cvGetSize(frame).height); y++) {
for(int x = 0; x < (cvGetSize(frame).width); x++) {
//…si HSV entre les seuils max et min…
if(
//test minH (=0)
((hsvFrame->imageData + hsvFrame->widthStep*y))[x*3] > 0 &&
//test maxH (=50)
((hsvFrame->imageData + hsvFrame->widthStep*y))[x*3] < 50 &&
//test minS (=100)
(hsvFrame->imageData + hsvFrame->widthStep*y)[(x*3)+1] >100
)
//…placer un point blanc dans l’image « objet ».
( objet->imageData + objet->widthStep*y)[x] = 255;
//Sinon, placer un point noir.
else
( objet->imageData + objet->widthStep*y)[x] = 0;
}
}
//Libérer l’espace des images
cvReleaseImage( &frame );
cvReleaseImage( &hsvFrame );
cvReleaseImage( &objet );
//Libérer la caméra




return 0;
}

j'ai aucun erreur .mais à l'exécution il m'affiche la fenêtre suivante.
Bad argument (Array should be Cvmat or IplImage in function CvgetSize).
0