utilizzando MODI in C # per leggere l'immagine - i numeri con una lunghezza di 1 manca

StackOverflow https://stackoverflow.com/questions/2483142

  •  21-09-2019
  •  | 
  •  

Domanda

Sono di costruire un C # -l'applicazione in cui sto cercando di leggere il testo da un'immagine gif (OCR) - Sto usando MODI e le immagini sono un po 'come un coupon lotto (numeri casuali in righe e colonne) . Io ora ottenuto il seguente codice che leggere tutti i numeri, tranne singoli numeri (1, 2, 3 ...)

MODI.Document objModi = new MODI.Document();
objModi.Create("C:\\image.gif");
objModi.OCR(MODI.MiLANGUAGES.miLANG_DANISH, true, true);
MODI.Image image = (MODI.Image)objModi.Images[0];
MODI.Layout layout = image.Layout;

Non posso cambiare il contenuto dell'immagine, ma posso fare qualsiasi cosa con il codice di cui sopra in modo che possa leggere i singoli numeri?

È stato utile?

Soluzione 2

Non hai trovato una soluzione perfetta, ha ottenuto il miglior risultato con l'aggiunta di contenuti extra per la mia immagine, come descritto nel mio ultimo commento.

Altri suggerimenti

stringa reult = ""; foreach (MODI.Word worditems in imag.Layout.Words) {    risultato = + worditems.Text + ''; }

È possibile aggiungere il seguente codice

numofwords = layout.NumWords;

for (int l = 0; l < numofwords; l++)
    {
        word = (MODI.Word)layout.Words[l];

        for (int j = 0; j < word.Rects.Count; j++)
        {
            MODI.MiRect rect = (MODI.MiRect)word.Rects[j];
            if (j == 0)
            {
                top = rect.Top;
            }
            if (height == 0 || height < (rect.Bottom - rect.Top))
                height = rect.Bottom - rect.Top;
            width = rect.Right - rect.Left;
            right = rect.Left + width;
            top = rect.Top;
            left = rect.Left;
        }
        OCRDocWord ocrword = new OCRDocWord(top, left, width, height, word.Text);
        width = 0;
        wordlist.Add(ocrword);
   }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top