Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Objective C] Use of undeclared identifier ''

Soucis d'appel de méthodes

Sujet résolu
    22 février 2013 à 16:03:52

    Bonjour,

    Je suis en train d'apprendre l'ObjC, et j'ai besoin d'intégré un framework appelé OpenCV (un OCR).

    Dans el tuto que je suis j'arrive à un moment où je ne sais pas quoi faire pour que ça fonctionne...

    Voici le tuto en question :

    http://docs.opencv.org/trunk/doc/tutorials/ios/image_manipulation/image_manipulation.html

    J'ai copié/collé les 3 méthodes qu'il donne sur le tuto au dessus du (void)viewDidLoad dans mon ViewController.mm, et j’essaie de m'en servir dans ma méthode (void)viewDidLoad (filename existe et ne pose pas de soucis) :

    UIImage *image = [UIImage imageWithContentsOfFile:filename];
    cv::Mat inputMat = cvMatFromUIImage(image);
    UIImage *newImage = UIImageFromCVMat(inputMat);

    C'est

    cvMatFromUIImage(image);

     et

    UIImageFromCVMat(inputMat);

     qu'il n'aime pas. Il me dit : Use of undeclared identifier 'cvMatFromUIImage'. Sachant que dans mon fichier .hh, j'ai bel et bien l'interface avec les 3 méthodes en question.

    Une aide plz :p

    Merci

    -
    Edité par Tiffado 22 février 2013 à 16:33:36

    • Partager sur Facebook
    • Partager sur Twitter
      22 février 2013 à 17:20:34

      Il semble que ta librairie openCV ne soit pas inclue plutôt. Appelle n'importe quelle méthode de opencv pour voir?
      • Partager sur Facebook
      • Partager sur Twitter
      Si mon aide vous a été utile, merci de mettre le sujet en résolu et mettre mon post en avant. Cheers!
        22 février 2013 à 17:49:38

        Bon, j'ai fait un screen pour montrer, mais j'arrive pas à upload l'image, donc ca sera textuel :

        UIImage *image = [UIImage imageWithContentsOfFile:filename];
        cv::Mat inputMat = cvMatFromUIImage(image);
        cv::Mat greyMat;
        cv::cvtColor(inputMat, greyMat, CV_BGR2GRAY);
        UIImage *newImage = UIImageFromCVMat(inputMat);

        Et les erreurs restent les mêmes aux même endroits.

        • Partager sur Facebook
        • Partager sur Twitter
          23 février 2013 à 20:08:34

          Non mais en fait je rerépète je pense que t'as mal importé la librairie OpenCV dans ton projet XCOde c'est pour ça qu'il reconnaît pas les fonctions..
          • Partager sur Facebook
          • Partager sur Twitter
          Si mon aide vous a été utile, merci de mettre le sujet en résolu et mettre mon post en avant. Cheers!
            25 février 2013 à 9:18:39

            Dans mon fichier .pch (le truc prefixe), j'ai pourtant bien mis ces lignes :

            #ifdef __cplusplus
            #import <opencv2/opencv.hpp>
            #endif

             Je précise aussi, si ce n'est pas clair, que les 2 méthodes non reconnues en question ne sont pas des méthodes incluses dans le framework, mais ce sont des méthodes que j'ai mises moi même dans mon projet. Donc s'il considère qu'elles ne sont pas déclarées, je ne crois pas que ce soit du à openCV, mais plus à une méconnaissance de l'objective C de ma part.

            EDIT : il faut remplacer

            cv::Mat inputMat = cvMatFromUIImage(image);
            UIImage *newImage = UIImageFromCVMat(inputMat);

            par

            cv::Mat inputMat = [self cvMatFromUIImage:image];
            UIImage *newImage = [self UIImageFromCVMat:inputMat];




            -
            Edité par Tiffado 25 février 2013 à 15:53:20

            • Partager sur Facebook
            • Partager sur Twitter

            [Objective C] Use of undeclared identifier ''

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown