Problème création d'une fonction sur javascool
TAgeneau
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
dans le cadre de notre projet de fin d'année en ISN, nous devons créer un programme qui détecte les caractère d'une plaque d'immatriculation. Pour se faire, nous avons extrait la plaque, extrait chaque caractères, etc ... Nous avons donc réussi a comparer le premier des caractères de la plaque avec un caractère "de référence", mais le programme étant bien trop long, nous voulions créer une fonction afin d'alléger celui ci. Problème : nous n'arrivons pas à réaliser un programme exécutable, javascool nous détectant toujours une erreur ...
En espérant obtenir de l'aide assez rapidement, merci d'avance !
voici la fonction posant problème :
dans le cadre de notre projet de fin d'année en ISN, nous devons créer un programme qui détecte les caractère d'une plaque d'immatriculation. Pour se faire, nous avons extrait la plaque, extrait chaque caractères, etc ... Nous avons donc réussi a comparer le premier des caractères de la plaque avec un caractère "de référence", mais le programme étant bien trop long, nous voulions créer une fonction afin d'alléger celui ci. Problème : nous n'arrivons pas à réaliser un programme exécutable, javascool nous détectant toujours une erreur ...
En espérant obtenir de l'aide assez rapidement, merci d'avance !
voici la fonction posant problème :
void pourcentage (){
int width = getWidth();
int height = getHeight();
double R = width * height ;
int P;
int PP;
//gauche
double compteur = 0;
for (int x = 0 ; x < width/2 ; x++){
for (int y = 0 ; y < height ; y++){
int a = getPixel (x,y);
if (a == 255){
compteur++;}
}
}
double p = (compteur/R)*100;
P = (int)p;
//droite
double compteur2 = 0;
for (int q = width/2 ; q < width ; q++){
for (int z = 0 ; z < height ; z++){
int b = getPixel (q,z);
if (b == 255){
compteur2++;}
}
}
double pp = (compteur2/R)*100;
PP = (int)pp;
}
void reference (){
int width = getWidth();
int height = getHeight();
double R = width * height ;
int ref;
int reff;
double compteur = 0;
for (int x = 0 ; x < width/2 ; x++){
for (int y = 0 ; y < height ; y++){
int a = getPixel (x,y);
if (a == 255){
compteur++;}
}
}
double g = (compteur/R)*100;
ref = (int)g;
double compteur2 = 0;
for (int q = width/2 ; q < width ; q++){
for (int z = 0 ; z < height ; z++){
int b = getPixel (q,z);
if (b == 255){
compteur2++;}
}
}
double d = (compteur2/R)*100;
reff = (int)d;
}
void main(){
/*int ref;
int reff;
int P;
int PP;*/
load("1p.jpg", false);
pourcentage();
load("A.jpg",false);
reference();
if ( ref < P <= ref && reff < PP <= reff){
println ( " Le 1er caractère est un A ");
}
}
A voir également:
- Problème création d'une fonction sur javascool
- Fonction si et - Guide
- Creation compte gmail - Guide
- Création site web - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création compte google - Guide
1 réponse
Bonjour,
J'ai lu le code rapidement, mais comme j'ai pas trop compris le rapport avec les plaques d'immatriculation je me suis juste attaché à la syntaxe, et clairement ça c'est faux :
Il faudrait plutôt écrire :
Mais d'un point de vue de la logique booléenne, ce sera toujours faux.
Tu ne peux pas avoir P (resp. PP) qui est en même temps strictement supérieur et inférieur ou égal à la même valeur ref (resp. reff).
Imaginons que ref=0, ça voudrait dire que tu cherches P tel qu'il est à la fois négatif, et positif ou nul... c'est impossible.
J'ai lu le code rapidement, mais comme j'ai pas trop compris le rapport avec les plaques d'immatriculation je me suis juste attaché à la syntaxe, et clairement ça c'est faux :
if ( ref < P <= ref && reff < PP <= reff)
Il faudrait plutôt écrire :
if (ref < P && P <= ref && reff < PP && PP <= reff)
Mais d'un point de vue de la logique booléenne, ce sera toujours faux.
Tu ne peux pas avoir P (resp. PP) qui est en même temps strictement supérieur et inférieur ou égal à la même valeur ref (resp. reff).
Imaginons que ref=0, ça voudrait dire que tu cherches P tel qu'il est à la fois négatif, et positif ou nul... c'est impossible.