Я хочу распознавать числа на 7-сегментном ЖК или светодиодном дисплее.Данные изображения получаются с прямой трансляции с камеры и сохраняются в 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);
}
Идеи о том, как предварительно обработать кадр?
Я пробовал какую-то комбинацию бинарной эрозии / расширения / закрытия, но только с небольшим успехом, есть какие-нибудь советы о том, как это сделать?Мне известно о Тессеракте и о «Семисегментном оптическом распознавании символов» http://www.unix -ag.uni-kl.de / ~ auerswal / ssocr /