Programmation en c++

amatorahman Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -  
amatorahman Messages postés 42 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
Configuration: Windows XP
Firefox 1.5.0.6

5 réponses

  1. Cisco
     
    Salut,

    Essaye d'enlever le "const" dans cette ligne
    int main( int argc,const char* argv )
    0
  2. amatorahman Messages postés 42 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
  3. Cisco
     
    Essaie ça:

    int main(int argc, char *argv[])
    0
  4. amatorahman Messages postés 42 Date d'inscription   Statut Membre Dernière intervention  
     
    merci, maintenat ça marche!!!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. amatorahman Messages postés 42 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