检测图像中的文本

时间:2012-06-30 20:30:30

标签: c# aforge

我使用AForge.NET库进行图像处理。使用此库,我可以检测图像中的基本形状。如何使用AForge.NET库检测图像中的文本?

2 个答案:

答案 0 :(得分:2)

您需要使用Optical Character Recognition(OCR)。我在与AForge一起使用时找到的一个链接可以访问here。链接中的一些代码:

// "K" letter, but a little bit noised
float[] pattern = new float [] {
        0.5f, -0.5f, -0.5f,  0.5f,  0.5f,
        0.5f, -0.5f,  0.5f, -0.5f,  0.5f,
        0.5f,  0.5f, -0.5f, -0.5f, -0.5f,
        0.5f, -0.5f,  0.5f, -0.5f, -0.5f,
        0.5f, -0.5f, -0.5f,  0.5f, -0.5f,
        0.3f, -0.5f, -0.5f,  0.5f,  0.5f};

// get network's output
float[] output = neuralNet.Compute(pattern);

int i, n, maxIndex = 0;

// find the maximum from output
float max = output[0];
for (i = 1, n = output.Length; i < n; i++)
{
    if (output[i] > max)
    {
        max = output1[i];
        maxIndex = i;
    }
}

//
System.Diagnostics.Debug.WriteLine(
  "network thinks it is - " + (char)((int) 'A' + maxIndex));

我能想到的另一种方法是使用Tessaract-OCR,它可以读取各种图像格式,并将它们转换为40多种语言的文本。还有许多其他方法可以实现,包括using Microsoft OfficeEmgu cv

还有一个链接可能有效。它会检测AForge中的扑克牌,并在此过程中读取角落中的数字或J,Q和K. You may have seen it already

答案 1 :(得分:0)

使用 Microsoft Cognitive Services - Computer Vision API

光学字符识别(OCR)检测图像中的文本并进行提取  将已识别的单词转换为机器可读的字符流