La reconnaissance fonctionne pas Google Vision
Lasyvegasy
-
BunoCS Messages postés 15952 Date d'inscription Statut Modérateur Dernière intervention -
BunoCS Messages postés 15952 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis actuellement entrain de créer une application permettant de résoudre une grille de sudoku par l'intermédiaire de la caméra du smartphone. J'ai donc pour cela créé un programme permettant de récupérer les chiffres inscrits dans chaque cases à l'aide de Google Vision cependant l'application ne détecte rien.. Est ce normal sachant que le code est censé être bon? Pourriez vous m'aider à avancer svp?
Je suis actuellement entrain de créer une application permettant de résoudre une grille de sudoku par l'intermédiaire de la caméra du smartphone. J'ai donc pour cela créé un programme permettant de récupérer les chiffres inscrits dans chaque cases à l'aide de Google Vision cependant l'application ne détecte rien.. Est ce normal sachant que le code est censé être bon? Pourriez vous m'aider à avancer svp?
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();
};
});
A voir également:
- La reconnaissance fonctionne pas Google Vision
- Google maps satellite - Guide
- Dns google - Guide
- Google maps - Guide
- Google photo - Télécharger - Albums photo
- Créer un compte google - Guide
3 réponses
Hello,
Si tu regardes bien, c'est le même code finalement...
Comment récupères-tu ta bitmap ?
As-tu essayé avec une seule case pour détecter un seul chiffre ?
As-tu essayé de sauver tes cellules intermédiaires pour vérifier ton découpage ?
Est ce normal sachant que le code est censé être bon? Pourriez vous m'aider à avancer svp?Il faut toujours se remettre en question ;) Qui te dit que le code est bon? Par exemple, le code suivant n'est pas "propre":
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); }
Si tu regardes bien, c'est le même code finalement...
Comment récupères-tu ta bitmap ?
As-tu essayé avec une seule case pour détecter un seul chiffre ?
As-tu essayé de sauver tes cellules intermédiaires pour vérifier ton découpage ?
Désolé, je n'ai pas trop le temps de tester ton app.
Es-tu parti d'un exemple de Google? Si oui, peut-on savoir lequel?
Es-tu parti d'un exemple de Google? Si oui, peut-on savoir lequel?
Vaut mieux regarder des sources "officielles": https://developers.google.com/vision/android/text-overview
Je recupere le Bitmap grace à .
Oui justement, mais le détecteur détecte rien..
Pour récupérer une Bitmap depuis une ImageView, il faut plutôt faire ceci (de mémoire):