我想识别7段LCD或LED显示屏上的数字。 图片数据是从相机实时供稿中获取的,并存储在mIntArray中,然后放入Google Play Vision textRecognizer中,但是检测结果很差。
public void onPreviewFrame(byte[] data, Camera camera)
{
YuvImage image=new YuvImage(data, NV21, width, height, null);
int[] mIntArray=new int[width * height];
extractGrayLevelsFromYuv(mIntArray, data, width, height); // some image conversion
preprocessFrame(mIntArray); // How ?
Bitmap bitmap=Bitmap.createBitmap(mIntArray, width,height,Bitmap.Config.ARGB_8888);
Frame frame= new Frame.Builder().setBitmap(bitmap).build();
SparseArray<TextBlock> items=textRecognizer.detect(frame);
}
关于如何预处理框架的想法?
我尝试了二进制腐蚀/扩张/封闭的某种组合,但是收效甚微,如何执行呢?我知道Tesseract和“七段光学字符识别” http://www.unix-ag.uni-kl.de/~auerswal/ssocr/