A voir également:
- Activité en arrière plan
- Arrière plan - Guide
- Logiciel plan maison - Guide
- Compte facebook bloqué pour activité inhabituelle - Forum Facebook
- Plan 3d gratuit - Télécharger - Architecture & Déco
- Arrière-plan appel vidéo whatsapp - Guide
3 réponses
BunoCS
Messages postés
15356
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
13 mars 2023
3 882
Modifié le 4 avril 2018 à 09:14
Modifié le 4 avril 2018 à 09:14
Bonjour,
Les
@+
Buno, Modo CS-CCM
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
The urgent is done, the impossible is underway. For miracles, provide for a delay...
Les
AsyncTasks, c'est un peu dépassé..Regardes du côté des threads car, effectivement, il faut éviter de faire de gros traitements sur le thread principal (UI thread).
@+
Buno, Modo CS-CCM
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
The urgent is done, the impossible is underway. For miracles, provide for a delay...
BunoCS
Messages postés
15356
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
13 mars 2023
3 882
4 avril 2018 à 11:39
4 avril 2018 à 11:39
As-tu regardé les logs? Quel est le message d'erreur? L'exception?
BunoCS
Messages postés
15356
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
13 mars 2023
3 882
4 avril 2018 à 12:05
4 avril 2018 à 12:05
Je te parle des logs que tu as dans la console d'Android Studio...
ça peut effectivement être lié à tes coordonnées mais dans ce cas, on est hors sujet
ça peut effectivement être lié à tes coordonnées mais dans ce cas, on est hors sujet
J'ai modifié le code du coup j'ai plus de message d'erreur cependant ma détection de texte n'est pas efficace..
Il me retourne une grille rempli de zéro..
Il me retourne une grille rempli de zéro..
btnProcess.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
new Thread(new Runnable() {
public void run() {
final StringBuilder stringBuilder = new StringBuilder();
TextRecognizer textRecognizer=new TextRecognizer.Builder(getApplicationContext()).build();
if(!textRecognizer.isOperational()){
Log.e("Error","Detector not available");
}
else {
int largeur = (bitmap.getWidth()) / 9;
int hauteur = (bitmap.getHeight()) / 9;
Bitmap cellule = null;
for (int y = 0; y< 9; y++) {
for (int x = 0; x < 9; x++) {
if (y == 0) {
cellule = Bitmap.createBitmap(bitmap,x*largeur,0,largeur,hauteur);
}
if (0 < y ) {
cellule = Bitmap.createBitmap(bitmap,x*largeur,y*hauteur,largeur,hauteur);
}
Frame frame = new Frame.Builder().setBitmap(cellule).build();
cellule.recycle();
SparseArray<TextBlock> items = textRecognizer.detect(frame);
if (items.size()==0){
stringBuilder.append("0" + " ");
}
else{
TextBlock item=items.valueAt(0);
stringBuilder.append(item.getValue() + " ");
}
}
stringBuilder.append("\n");
}
}
runOnUiThread(new Runnable() {
public void run() {
txtResult.setText(stringBuilder.toString());
}
});
}
}).start();
};
});
BunoCS
Messages postés
15356
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
13 mars 2023
3 882
4 avril 2018 à 14:21
4 avril 2018 à 14:21
Déroules le code en pas-à-pas pour voir le souci
BunoCS
Messages postés
15356
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
13 mars 2023
3 882
4 avril 2018 à 14:37
4 avril 2018 à 14:37

Modifié le 4 avril 2018 à 14:23
btnProcess.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { new Thread(new Runnable() { public void run() { final StringBuilder stringBuilder = new StringBuilder(); TextRecognizer textRecognizer=new TextRecognizer.Builder(getApplicationContext()).build(); if(!textRecognizer.isOperational()){ Log.e("Error","Detector not available"); } else { int largeur = (bitmap.getWidth()) / 9; int hauteur = (bitmap.getHeight()) / 9; Bitmap cellule = null; for (int i = 0; i < 9; i++) { for (int z = 0; i < 9; z++) { if (z == 0) { cellule = Bitmap.createBitmap(bitmap, i * largeur, 0, largeur, hauteur); } if (0 < z) { cellule = Bitmap.createBitmap(bitmap, i * largeur, z * hauteur, largeur, hauteur); } Frame frame = new Frame.Builder().setBitmap(cellule).build(); SparseArray<TextBlock> items = textRecognizer.detect(frame); TextBlock item = items.valueAt(0); stringBuilder.append(item.getValue() + " "); cellule.recycle(); } stringBuilder.append("\n"); } } runOnUiThread(new Runnable() { public void run() { txtResult.setText(stringBuilder.toString()); } }); } }).start(); }; });