我必须创建一个数独求解器,所以我创建了谷歌视觉,数字识别从网格中检索数字。这个数字识别修剪网格分析每个单元格但识别不起作用..我认为问题来自TextRecognizer无法识别单个字符。
你能帮我吗?
谢谢。
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++) {
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();
};
});