1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

TUTO Android OCR avec tess-two WM 25

Discussion dans 'Windev Mobile' créé par redha2010, Avr 12, 2021.

  1. redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    salam


    Code (Text):

    import android.graphics.Bitmap;
    import com.googlecode.tesseract.android.TessBaseAPI;
    import android.graphics.BitmapFactory;
    import android.widget.Toast;
    import android.os.Environment;
    import android.net.Uri;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import android.content.res.AssetManager;

    public static String GetText(String imagePath){
        prepareTessdata();
        TessBaseAPI tessBaseAPI;
        Uri Urimage =  Uri.fromFile(new File(imagePath));
        tessBaseAPI = new TessBaseAPI();
        BitmapFactory.Options options =new BitmapFactory.Options();
        options.inSampleSize = 4 ;
        Bitmap bitmap = BitmapFactory.decodeFile( Urimage.getPath(),options );
        String DATA_PATH = Environment.getExternalStorageDirectory().toString();
        tessBaseAPI.init( DATA_PATH ,"eng");
        tessBaseAPI.setImage(bitmap);
        String result ="No Result";
        try {
            result= tessBaseAPI.getUTF8Text();
        } catch (Exception e){
            Toast.makeText( getApplicationContext(),e.getMessage() ,Toast.LENGTH_LONG).show();
        }
        tessBaseAPI.end();
        return result;
       
    }

    private static void prepareTessdata(){
        try {
            String DATA_PATH = Environment.getExternalStorageDirectory().toString();
            File dir =new File( DATA_PATH+"/tessdata" );
            if (!dir.exists()){
                dir.mkdir();
            }
            AssetManager assetM = getContexteApplication().getAssets();
            String fileList[] = assetM.list("" );
            for (String fileName : fileList){
                String PathToDataFile = DATA_PATH+"/tessdata"+"/"+fileName;
                if (!new File(PathToDataFile).exists()){
                    InputStream in = assetM.open( fileName );
                    OutputStream out = new FileOutputStream( PathToDataFile );
                    byte[] buff = new byte[1024];
                    int len;
                    while((len = in.read(buff))>0){
                        out.write( buff,0,len );
                    }
                    in.close();
                    out.close();
                }
            }
        }catch (Exception e){
            Toast.makeText( getApplicationContext(),e.getMessage() ,Toast.LENGTH_LONG).show();
        }
    }
     
     
    Tags:
    rober, WX1331 et michel aiment ça.
  2. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,879
    J'aime reçus:
    1,531
    J'ai l'impression que c'est avec l'API en ligne de tesseract?
    J'ai l'impression donc que c'est incomplet?
    Ne manque t'il pas le sdk tesseract ?
     
  3. redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    J'ai l'impression que c'est avec l'API en ligne de tesseract?
    J'ai l'impression donc que c'est incomplet?
    Ne manque t'il pas le sdk tesseract ?
    Cliquez pour agrandir...
    oui c'estt tesseract mais c'est pas online

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,879
    J'aime reçus:
    1,531
    Merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    pour le lien de la dépendance.
     
  • Njassou

    Njassou Member

    Inscrit:
    Nov 4, 2018
    Messages:
    32
    J'aime reçus:
    1
    Bonjour
    pourrais je avoir un tuto d’intégration ? j'ai jamais eu a faire des intégrations externe et ça me tente bien.
    merci
     
  • Njassou

    Njassou Member

    Inscrit:
    Nov 4, 2018
    Messages:
    32
    J'aime reçus:
    1
    je viens de regarder la vidéo du début je vais essayer.
    cdt.
     
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    PS:
    1- pour l'utilisation des fichiers TRAINEDDATA , il faut utiliser les fichiers tessdata du versions 3.04

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    2- pour la langue arabe avec cette dépendance il aura des crashs , donc il faut mieux utiliser

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    avec des fichiers tessdata V 4.0
     
  • gprojet

    gprojet New Member

    Inscrit:
    Avr 17, 2021
    Messages:
    1
    J'aime reçus:
    0
    Bonjour Merci infiniment Redha2010 pour le partage . J ai besoin de votre aide pour Opencv si possible avec un exemple Merci
     
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour Merci infiniment Redha2010 pour le partage . J ai besoin de votre aide pour Opencv si possible avec un exemple Merci
    Cliquez pour agrandir...
    dans quelle domaine ( OpenCV c'est vaste )
     
  • Afnk

    Afnk New Member

    Inscrit:
    Juil 22, 2021
    Messages:
    1
    J'aime reçus:
    0
    Bonjour, j'ai copié votre code sur mon projet je l'ai compilé et installé sur mon téléphone. y a pas d'erreur et l'application se ferme automatiquement. Est-ce qu'il faut être root sur le téléphone ou est-ce qu'il y a d'autres paramètres à activer ? Je suis en windev mobile 25 01F250083h.
    cdt,
     
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour, j'ai copié votre code sur mon projet je l'ai compilé et installé sur mon téléphone. y a pas d'erreur et l'application se ferme automatiquement. Est-ce qu'il faut être root sur le téléphone ou est-ce qu'il y a d'autres paramètres à activer ? Je suis en windev mobile 25 01F250083h.
    cdt,
    Cliquez pour agrandir...
    je ne suis pas sure du problème, mais généralement c'est du cote de fichier TRAINEDDATA
    essaye d'utiliser un autre fichier

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  • Partager cette page

    Chargement...