IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Appel et test d'une méthode ne fonctionnent pas (type not found)


Sujet :

Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 18
    Points : 20
    Points
    20
    Par défaut Appel et test d'une méthode ne fonctionnent pas (type not found)
    Bonjour à vous !
    Je suis bloqué dans mon code pour mon projet d'OCR...
    J'ai réalisé une méthode de sous-échantillonnage d'une matrice. Je voudrais la tester mais je n'y arrive pas.
    J'ai un problème sur la fin de mon code, la méthode main, je n'arrive pas à appeler la méthode downSampling de cette manière (erreur retournée : type not found). Je ne suis pas sur d'avoir bien compris le principe de l'instanciation et tout ça.. Si quelqu'un pouvait me tirer ça au clair en me montrant ce qui ne va pas dans mon code je suis preneur !

    Merci d'avance en tout cas !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     * 
     * @author ***
     * @version 1.0
     */
     
    public class OCR {
     
        public OCR() {
     
        }
     
        /**
         * @return
         */
        public int getSize(int[][] matriceSize) { return matriceSize.length; }
        /**
         * @return
         */
        public int getHauteur(int[][] matriceHauteur) { return matriceHauteur[0].length; }
     
      public char[] downSampling(int[][] matriceEncadre) {
     
            char[] recup;
            recup = new char[35];
              /* SOUS-ECHANTILLONAGE DE LA MATRICE (réduction de sa taille)
              Principe de fonctionnement : 
              On envoie une matrice n-m que l'on transforme en une matrice 5-7
              Pour cela on découpe la matrice en 5*7 quadrants auxquels on assignera 
              la valeur 1 si un seul 1 est détecté dans ce quadrant.
              */
     
            int casY;
            int casX;
            int ratioY = (int) getSize(matriceEncadre)%7;
            int ratioX = (int) getHauteur(matriceEncadre)%5;
            //casY et casX sont des variables utilisées dans le cas ou la taille de la matrice de base n'est pas divisible par 7 ou 5 suivant le cas... Ici on s'en fout donc...
            casY = ratioY*7-getSize(matriceEncadre);
            casX = ratioX*5-getHauteur(matriceEncadre);
            int[][] Quadrant;
            Quadrant = new int[35][4];
     
              //On met les caracteres de recup a* 0
              for (int i=1; i<35; i++)
                      {recup[i]='0';}
     
              //On decoupe les quadrants de facon egale
            (ici j'ai coupé car c'est 100 lignes de code inutiles pour nous, je définis la taille des quadrants)
     
              //Puis on en leve le i-eme caractere a* 1 si on detecte le moindre pixel dans le i-eme quadrant
            for (int i=1; i<35; i++)
              {for (int j=Quadrant[i][1]; j<Quadrant[i][2]; j++)
                  {for (int k=Quadrant[i][3]; k<Quadrant[i][4]; k++)
                      {
                      if (matriceEncadre[j][k]==1)
                          {recup[i]='1';}              
     
                      }
                  }
              }
     
          //  System.out.println("slip36!");
     
            return recup;
        }
     
      public static void main(String[] args) {
     
          //ici pour mon test, je veux transformer une matrice 35*35 en un tableau de 35 caractères, qui équivaut à une matrice 7*5.
          int[][] matrice;
          matrice = new int[35][35];
     
          for (int i=1; i<=35; i++)
              {
              for (int j=1; j<=35; j++)
                  {matrice[i][j]=0;}
              }
     
            char[] recup2;
            recup2 = new downSampling(matrice);
     
            for (int i=1; i<=35; i++)
            {System.out.println(recup2[i]);
            }
     
        }
    }

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Ce qui ne va pas, c'est que tu essayes d'instancier une méthode, ce qui n'est pas possible. Seules les classes peuvent être instanciées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    recup2 = new downSampling(matrice); // impossible
    La méthode downSampling se trouve dans la classe OCR, c'est cette classe qu'il faut instancier, puis tu appelles ta méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    OCR ocr; // déclaration de la variable
    ocr = new OCR(); // instanciation de la classe
    recup2 = ocr.downSampling(matrice); // appel de la méthode

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 18
    Points : 20
    Points
    20
    Par défaut
    Merci beaucoup, à quelques bugs près, ça marche du tonnerre !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appelle du destructeur dans une méthode du même Objet
    Par leo_OrNg dans le forum Débuter
    Réponses: 4
    Dernier message: 03/01/2010, 01h37
  2. Réponses: 2
    Dernier message: 01/05/2007, 19h50
  3. Réponses: 5
    Dernier message: 03/10/2006, 19h25
  4. Macro pour une impression ne fonctionne pas
    Par aujero dans le forum Access
    Réponses: 2
    Dernier message: 01/06/2006, 18h23
  5. Réponses: 4
    Dernier message: 26/05/2006, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo