Aspose.OCR for C++
用於新增 OCR 功能的 C++ OCR API
使用免費 OCR API 將 OCR 功能整合到 C 和 C++ 應用程式中。它可以從掃描圖像和 PDF、智慧型手機照片、螢幕截圖和圖像區域中識別和提取文字。
隨著數位時代的不斷擴展,從圖像、掃描文件和其他來源中高效提取文字的需求變得必要。這就是光學字元辨識 (OCR) 技術在將視覺資料轉換為可編輯和可搜尋文字方面發揮著至關重要作用的地方。 Aspose.OCR for C++ 作為一個強大的解決方案出現,為開發人員提供了一個全面的工具包,將 OCR 功能無縫整合到他們的 C++ 應用程式中。無論開發人員需要從掃描文件、圖像甚至螢幕截圖中提取文本,Aspose.OCR 都提供了全面的解決方案來處理各種 OCR 需求。
Aspose.OCR for C++ 提供了一組豐富的影像處理功能,可提高 OCR 準確性並改善辨識過程。該庫有幾個重要的功能,例如處理旋轉和雜訊圖像、識別多種語言的文字、批量識別所有圖像、識別整個圖像、僅從選定區域提取文字、識別單字或段落、將識別結果保存在磁碟上、影像預處理支援、辨識影像上的字元、辨識影像上的字元、僅讀取影像的某些區域等等。 軟體開發人員可以透過應用濾鏡、調整對比度和亮度、糾偏和雜訊消除等操作來預處理影像。
Aspose.OCR for C++ 可以輕鬆整合到使用者的應用程式以及其他 Aspose 產品中。該程式庫提供了一個非常簡單的 API,允許開發人員將 OCR 功能無縫合併到他們的 C++ 專案中。只需幾行程式碼,開發人員就可以初始化 OCR 引擎、載入圖片或文件並提取文字。 它被設計為跨平台的,可用於開發Windows、Linux和Web的跨平台應用程式。 透過將 Aspose.OCR 整合到他們的專案中,軟體開發人員可以提高工作效率、改善資料可存取性並釋放應用程式中文字處理和分析的新可能性。
C++ 版 Aspose.OCR 入門
安裝 Aspose.OCR for C++ 的建議方法是使用 NuGet。為了順利安裝,請使用以下命令。
透過 NuGet 指令安裝適用於 C++ 的 Aspose.OCR
NuGet\Install-Package Aspose.Ocr.Cpp -Version 23.4.0
您可以直接從Aspose.PDF產品頁面
下載該庫C++ 應用中的高效率文字擷取
Aspose.OCR for C++ 提供了一種可靠且高效的方法,用於從各種文件格式中提取文本,包括掃描文件、圖像、PDF 文件、多頁 TIFF、像素陣列、收據等。它利用複雜的 OCR 演算法來高精度識別和提取文本,保留原始格式和結構。該庫支援多種語言,使其適合多語言應用程序,並使開發人員能夠輕鬆地從不同來源提取文字。以下範例示範如何透過 C++ API 從 TIFF 圖像中提取文字。
透過 C++ API 從 TIFF 影像中擷取文字?std::string image_path = "source.tiff";
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
RecognitionSettings settings;
settings.language_alphabet = language::ukr;
size_t res_len = aspose::ocr::page_tiff("1.tif;2.tif", buffer, len, set);
std::wcout << buffer;
std::string image_path = "source.tiff";
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
RecognitionSettings settings;
settings.language_alphabet = language::ukr;
size_t res_len = aspose::ocr::page_tiff("1.tif;2.tif", buffer, len, set);
std::wcout << buffer;
透過 C++ 讀取影像的某些區域
Aspose.OCR for C++ 讓軟體開發人員可以輕鬆讀取影像的特定區域並從 C++ 應用程式內的該區域或區域中提取文字。當您只需要從圖像的特定部分提取文字並希望排除不相關的內容時,此功能特別有用。該庫提供了一種簡單而有效的方法來實現這一目標。下面是一個範例程式碼片段,示範如何使用 Aspose.OCR for C++ 讀取影像的某些區域。
透過 C++ API 從影像中的特定區域擷取文字
// Load the image
System::SharedPtr imageStream = System::MakeObject(new System::IO::FileStream(u"image.jpg", System::IO::FileMode::Open));
// Initialize OCR engine
System::SharedPtr ocrEngine = System::MakeObject();
// Set the image for OCR
ocrEngine->Image = imageStream;
// Set the rectangle coordinates for the specific area to read
System::SharedPtr areaRect = System::MakeObject(10, 10, 200, 100);
ocrEngine->Config->SetArea(areaRect);
// Perform OCR on the specified area
ocrEngine->Process();
// Retrieve the extracted text from the specific area
System::String extractedText = ocrEngine->Text;
// Display the extracted text
std::cout << "Extracted Text: " << extractedText.ToUtf8String() << std::endl;
透過 C++ API 進行影像預處理
Aspose.OCR for C++ 提供了一種標準化的方法來準備 OCR 內容並獲得準確的 OCR 結果。該庫提供了一系列先進的影像預處理技術。這些技術可提高影像品質、修正透視失真、消除雜訊並優化文字辨識過程。透過採用影像預處理,開發人員可以顯著提高 OCR 準確性,尤其是在處理具有複雜佈局的具有挑戰性的影像或文件時。可以對相同影像套用多個預處理濾波器,以進一步提高辨識品質。
透過 C++ API 辨識前自動移除影像中的雜訊
// Recognition settings
std::string image_path = "source.png";
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
RecognitionSettings settings;
settings.auto_denoising = true;
size_t res_len = aspose::ocr::page_settings(image_path.c_str(), buffer, len, settings);
std::wcout << buffer;
// apply Preprocessing filter
std::string image_path = "source.png";
custom_preprocessing_filters filters_;
filters_.filter_1 = OCR_IMG_PREPROCESS_AUTODENOISING;
asposeocr_preprocess_page_and_save(image_path.c_str(), "result.png", filters_);
以其他格式儲存辨識結果
Aspose.OCR for C++ 使軟體開發人員能夠識別多種流行文件格式的文本,例如 PDF、JPEG、PNG、TIFF、BMP 等。該 API 允許開發人員以多種格式儲存識別結果,以便共用、儲存在資料庫中、顯示或分析。軟體開發人員可以將識別結果儲存為文件、文字、JSON 或 XML。該程式庫允許設定識別置信度閾值,使軟體開發人員能夠過濾掉置信度較低的文字。在處理大量文字時,該功能被證明是非常寶貴的,可確保僅提取可靠且準確的結果。以下範例展示如何使用 C++ 指令將識別結果儲存為檔案。
透過C++ API將識別結果儲存為多頁文件
directory dir(".");
const string current_dir = dir.full_name();
const string image = current_dir + "p.png";
const size_t len = 6000;
wchar_t buffer[len] = { 0 };
RecognitionSettings settings;
settings.save_format = file_format::docx;
aspose::ocr::page_save(image.c_str(), "result.docx", settings);