C#.NET实现扫描识别图片中的文字攻略
简介
在C# .NET开发中,实现扫描并识别图片中的文字非常重要。这个过程需要使用OCR库,因为OCR在识别各种类型的图像时比较准确。
在这个攻略中,我们将会使用Aspose.OCR来实现扫描并识别图片中的文字。Aspose.OCR是一个.NET OCR组件,支持将JPEG、PNG、WEBP、BMP等图像格式的图片转换成可编辑的文本格式。
步骤1: 安装 Aspose.OCR
- 下载Aspose.OCR:你可以到Aspose的官网购买Aspose.OCR,或者从 NuGet 上下载:
PM> Install-Package Aspose.OCR
- 安装完成后,你可以在 Visual Studio 中拖放 Aspose.OCR.dll 到你的项目中。
步骤2: 实现代码
下面是一个简单的示例代码:扫描并识别图片中的文字:
using Aspose.OCR;
using System.IO;
class Program
{
static void Main(string[] args)
{
// 加载图片
var imagePath = @"C:\Users\Public\Pictures\Sample Pictures\Desert.jpg";
using (var image = ImageStream.FromFile(imagePath))
{
//实例化 OCR engine (ocr语言是英语)
var ocrEngine = new OcrEngine(OcrLanguage.English);
// 定义图片输入的格式
ocrEngine.Image.InputFormat = ImageStreamFormat.Jpeg;
//加载图片进行 OCR 识别
if (ocrEngine.Process(image))
{
// 获取提取的文字
Console.WriteLine("Results:");
Console.WriteLine(ocrEngine.Text);
}
}
}
}
示例说明1:针对于单张图片的处理
下面是另一个示例代码片段,使用Aspose.OCR来提取一张图片中的文字:
using Aspose.OCR;
using System.Collections;
class Program
{
static void Main(string[] args)
{
// 输入图片
string dataDir = @"C:\Users\USER\Downloads\";
// 测试微软表格截图图片
string inputFile = dataDir + "sample.png";
// 初始化OCR engine实例 (ocr语言是英语)
OcrEngine ocrEngine = new OcrEngine(OcrEngineLanguage.English);
// 加载要识别的图像
ImageStream imageStr = null;
try
{
imageStr = ImageStream.FromFile(inputFile);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
if (imageStr == null)
{
Console.WriteLine("Problem in image loading");
return;
}
// 定义 OCR engine 图像输入格式
ocrEngine.Image.InputFormat = ImageStreamFormat.Png;
// 开始识别
if (ocrEngine.Process(imageStr))
{
//获取 OCR 结果
IRecognizedTextPartInfo[] textParts = ocrEngine.Text.PartsInfo;
foreach (IRecognizedTextPartInfo i in textParts)
{
Console.WriteLine(i.Text);
}
}
else
{
Console.WriteLine("Error");
}
}
}
示例说明2:多图一起处理
以下这个代码片段是针对于多张图片的处理。它将根据目录中存在的所有图片提取文本,并将结果写入一个文件中。
using Aspose.OCR;
using System.Collections;
using System.IO;
class Program
{
static void Main(string[] args)
{
var dataDir = @"C:\Users\USER\Downloads\OCR Data";
var outputPath = @"C:\Users\USER\Downloads\OCR Result.txt";
// 初始化 OCR engine 实例
var ocrEngine = new OcrEngine(OcrEngineLanguage.English);
foreach (var filePath in Directory.GetFiles(dataDir))
{
// 加载图像
var imageStr = ImageStream.FromFile(filePath);
ocrEngine.Image = imageStr;
//进行 OCR 识别
if (ocrEngine.Process())
{
// 输出结果
File.AppendAllText(outputPath, ocrEngine.Text);
}
}
}
}
以上是实现扫描并识别图片中的文字的攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# .NET实现扫描识别图片中的文字 - Python技术站