en utilisant MODI en C # pour lire l'image - chiffres d'une longueur de 1 manque
Question
Je suis sur la construction d'un C # -application où je suis en train de lire le texte à partir d'un gif image (OCR) - J'utilise MODI et les images sont un peu comme un coupon de loto (nombres aléatoires en lignes et colonnes) . Je suis maintenant le code suivant qui lu tous les numéros à l'exception des numéros individuels (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;
Je ne peux pas changer le contenu de l'image, mais je peux faire quoi que ce soit avec le code ci-dessus il peut lire les nombres simples?
La solution 2
ne trouvez pas de solution parfaite, a obtenu le meilleur résultat en ajoutant du contenu supplémentaire à mon image comme décrit dans mon dernier commentaire.
Autres conseils
string reult = ""; foreach (MODI.Word worditems en imag.Layout.Words) { résultat + = worditems.Text + ''; }
Vous pouvez ajouter le code suivant
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);
}