.NET Core扫描并读取图片中的文字
原文:https://www.jb51.net/article/232893.htm
- Visual Studio版本要求不低于2017
- 图片扫描工具:Spire.OCR for .NET
- 图片格式:png(这里的图片格式支持JPG、PNG、GIF、BMP、TIFF等格式)
- 扫描的图片文字:中文(另可支持中文、英语、日语、韩语、德语、法语等)
- .Net Core 3.1
1. 创建一个.Net Core控制台应用程序
2. 通过NuGet添加依赖 Spire.OCR
3. 复制dll
情况1:如果为.net core 3.0及以上版本,则从bin\Debug\netcoreapp3.1\runtimes\win-x64\native文件夹中复制如图中的6个dll文件到程序运行路径bin\Debug\netcoreapp3.1;
复制到:
情况2:如果是.net core 3.0以下版本,则需要下载Spire.OCR包,并解压,将该文件路径Spire.OCR\Spire.OCR_Dependency\x64中的6个dll复制到程序运行路径bin\Debug\netcoreapp2.1
复制到:
4.完成以上操作后,可参考如下代码内容,读取图片上的文本内容
读取http路径图片:
using Spire.OCR; using System; using System.Net; namespace MyTest { class Program { static void Main(string[] args) { var test = GetWord("https://xxxxxx/test.jpg"); //改成你的图片的http路径 } private static string GetWord(string url) { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; using (WebResponse response = request.GetResponse()) { using (var stream = response.GetResponseStream()) { using (OcrScanner scanner = new OcrScanner()) { scanner.Scan(stream, OCRImageFormat.Png); var words = scanner.Text.ToString(); words = words.Replace("Evaluation Warning : The version can be used only for evaluation purpose...", "");
return words; } } } } catch (Exception ex) {
return $"异常:{ex.Message}"; } } } }
读取物理路径图片:
using Spire.OCR; using System; using System.Net; namespace MyTest { class Program { static void Main(string[] args) { var test = GetWord(@"E:\xxx\xxxx\test.jpg"); //改成你的图片的物理地址 } private static string GetWord(string fileName) { try { OcrScanner scanner = new OcrScanner(); scanner.Scan(fileName); var words = scanner.Text.ToString().Replace("Evaluation Warning : The version can be used only for evaluation purpose...", "");
return words; } catch (Exception ex) {
return $"异常:{ex.Message}"; } } } }