Aspose.OCR for C++ 通过5行代码的光学字符识别功能扩展了您的应用程序。我们在神经网络和机器学习方面的经验已转化为具有卓越性能和准确性的 OCR 库,支持26种基于拉丁文和西里尔字母以及中文的语言。 OCR API 可以识别扫描的图像、智能手机照片、屏幕截图、图像区域和扫描的 PDF,并以最流行的文档和数据交换格式返回结果。它完全脱机,不需要互联网连接即可工作。该 API 只需极少的努力即可开始使用,并且学习曲线较浅。所有预处理、歪斜校正、噪声消除、语言检测、多线程和其他复杂任务都是自动执行的,但可以进行调整以处理困难的情况。
高级 C++ OCR API 功能
从图像中提取文本并创建可搜索的 PDF
支持您可以从扫描仪或相机获得的任何图像
阅读扩展拉丁文和西里尔文脚本
识别6000多个汉字
检测并识别所有流行的字体和格式
在识别之前对图像进行预处理
仅处理整个图像或选定区域
支持旋转、倾斜和嘈杂的图像
批量识别文件夹或存档中的所有图像
识别作为 Web 链接提供的图像
查找并自动更正拼写错误的单词
以 JSON 格式获取识别结果
便于使用
你还觉得 C++ OCR 难吗?使用我们的库,您只需要5行代码即可识别图像并显示结果。试试这段代码,自己看看:
图像到文本的 5 行 - C++
// 提供图片路径
std::string image_path = "../Data/Source/sample.png";
// 为结果准备缓冲区
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
// 施展魔法
size_t size = aspose::ocr::page(image_path.c_str(), buffer, len);
// 显示识别结果
std::wcout << buffer << L"\n";
26种识别语言
OCR API 可以识别大量语言和所有流行的书写脚本,包括混合语言的文本。
- 扩展拉丁字母:克罗地亚语、捷克语、丹麦语、荷兰语、英语、爱沙尼亚语、芬兰语、法语、德语、意大利语、拉脱维亚语、立陶宛语、挪威语、波兰语、葡萄牙语、罗马尼亚语、斯洛伐克语、斯洛文尼亚语、西班牙语、瑞典语。
- 西里尔字母:白俄罗斯语、保加利亚语、哈萨克语、俄语、塞尔维亚语、乌克兰语。
- 中文:6000多个字符。
您可以将语言检测留给库或自己定义语言以提高识别性能和可靠性。
批量处理
OCR API 通过提供各种允许您在一次调用中识别多张图像的批处理方法,让您从一张一张地识别每张图像中解放出来:
- 识别多页 PDF 和 TIFF 文件。
- 识别文件夹中的所有文件。
- 识别档案中的所有文件。
识别 ZIP 存档 - C++
// 提供存档路径
std::string archive_path = "book.zip";
// 为结果准备缓冲区
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
// 使用默认值初始化 RecognitionSettings 对象
RecognitionSettings settings;
// 认出
size_t res_len = aspose::ocr::pages_multi(archive_path.c_str(), buffer, len, settings);
保留格式
OCR 库以常规、粗体和斜体样式读取所有流行的字体,例如 Arial、Times New Roman、Courier New、Tahoma、Calibri 等,并仔细保留 OCR 结果中的格式。您还可以将识别结果拆分为行并检测页面中的文本区域。
识别照片
OCR 应用程序的广泛采用通常因扫描仪对大多数用户来说并不常见这一事实而停止。我们的 OCR 库具有强大的内置图像预处理过滤器,可以处理深色、旋转、倾斜和嘈杂的图像。结合对所有图像格式的支持,它甚至可以可靠地识别智能手机照片。大多数预处理和图像校正都是自动完成的,因此您只需要在困难的情况下进行干预。
为倾斜校正设置自定义角度 - C++
// 原始图像
std::string image_path = "../Data/Source/sample.png";
rect rectangles[2] = { {90, 186, 775, 95} , { 928, 606, 790, 160 } };
// 为结果准备缓冲区
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
// 调整倾斜角度
RecognitionSettings settings;
settings.format = export_format::text;
settings.rectangles = rectangles;
settings.rectangles_size = 2;
settings.skew = 5;
// 识别图像
size_t res_len = aspose::ocr::page_settings(image_path.c_str(), buffer, len, settings);
拼写检查
虽然 OCR 产生可靠的结果,但灰尘和打印缺陷可能会导致某些符号被错误识别。 OCR API 有一个内置的拼写检查器,可以自动替换拼写错误的单词,让您不必手动更正识别结果。