OCR 工具

Android OCR 程式庫(開發者列表)

發佈 2024年6月6日
分享:

在Android應用程式開發的動態環境中,整合光學字元識別 (光學字符識別) 功能變得越來越重要。Android OCR庫使開發人員能夠在其應用中捕捉影像,並提供處理影像和從中提取文本的功能,為增強用戶體驗開闢了無限可能。

在本文中,我們將探討 Android OCR庫 的現狀、其功能,以及它們如何徹底改變移動應用程序的開發。

理解 Android OCR 庫

Android OCR 庫是專門設計用來辨識和提取由 Android 設備拍攝的圖像中的文本的工具。利用先進的機器學習算法和計算機視覺技術,這些庫分析圖像以識別文本元素,並將其轉換為可編輯和可搜索的文本。通過整合 OCR 功能,開發者可以創建能夠執行如掃描文件、翻譯文本和從圖像中提取信息等任務的應用程式。

Android OCR 庫的主要功能

  1. 精確度和語言支持:領先的 Android OCR 庫在各種語言和字體的文本識別方面具有高精準度。它們利用先進的算法從影像中準確識別和提取文本,確保在多語種環境中獲得可靠結果。

  2. 即時處理:一些 Android OCR 庫支持即時處理,使應用程序能夠在實時相機畫面上執行文本識別。此功能對於需要立即分析設備相機捕獲文本的應用程序(如翻譯應用和增強現實體驗)非常寶貴。

  3. 易於整合:Android OCR 庫設計用於與 Android 應用程序無縫整合。它們為開發者提供 SDK 和 API,簡化了整合過程,使 OCR 功能快速且高效地融入移動應用。

  4. 自定義選項:Android OCR 庫提供自定義選項,以針對特定使用案例調整文本識別參數。開發者可以調整圖像預處理、文本分割和語言模型等設置,以優化 OCR 的性能和準確性。

Android OCR Libraries

幾個 OCR 庫可供 Android 開發使用,每個庫都有其獨特的功能、能力和授權模式。讓我們來看看一些最受歡迎的庫:

1. Tesseract OCR

Tesseract OCR由Google開發,是最廣泛使用的開源OCR引擎之一,支持超過100種語言。將Tesseract OCR整合到Android應用程序中,通常涉及使用像‘tess-two’這樣的封裝庫,以簡化這個過程。憑藉其強大的文字識別能力,Tesseract OCR使開發者能夠高效地從單張圖像中提取文字。

Tesseract的多功能性不僅體現在其語言支持上;它還提供了靈活的部署選項。開發者可以選擇在設備上本地使用Tesseract數據或利用基於雲的服務,這取決於他們應用程序的需求。這種靈活性使Tesseract OCR適用於廣泛的使用案例,從移動應用中的離線文字識別到基於雲的大規模文字提取解決方案。

2. Google 移动视觉 API

作為 Google Play 服務的一部分,移动视觉 API 提供了設備上的文字識別功能。它提供了一個簡單的接口,用於從圖像中檢測和提取文字,使其適合用於實時應用,例如文件掃描和翻譯。由於其無縫集成,移动视觉 API 使開發人員能夠精確地處理圖像並識別文字。

然而,這個 API 現在已被棄用,因此請開發者遷移到 ML Kit SDK 以獲得最佳性能、最新特性和穩定性。這在下面進一步討論。

3. Microsoft Azure 計算機視覺

Azure 電腦視覺 API 提供基於雲端的OCR服務,支持各種圖像分析任務,包括文字識別。雖然需要網際網路連接進行處理,但它提供高準確度並支持多種語言。透過Azure Computer Vision,開發人員可以以無與倫比的準確度從圖像中提取文字。

除此之外,Azure Computer Vision API還提供了廣泛的其他計算機視覺功能,例如圖像標記、物體檢測和圖像審查。這種多功能性允許開發人員構建超越簡單OCR功能的複雜應用程序。通過利用Azure Computer Vision的強大功能,開發人員可以創造出利用先進的單圖像分析技術的創新解決方案。

4. ABBYY Mobile Web Capture

ABBYY 移動網頁捕捉 革命性地將文件擷取功能無縫嵌入基於網頁的應用程式中,從而徹底改變行動設備的用戶引導過程。通過利用基於JavaScript的SDK,這項創新的解決方案允許用戶在網頁中直接使用移動設備的相機輕鬆拍攝文件圖片。有了ABBYY Mobile Web Capture,不需要手動點擊或調整—客戶只需將設備的相機對準文件,SDK會處理其餘的工作,確保以最佳的影像品質轉換成業務就緒數據。

這個無摩擦過程不僅通過簡化文件提交來提升客戶體驗,還通過在早期階段降低放棄率來加速引導過程。此外,ABBYY Mobile Web Capture消除了自訂開發的需要,提供了一個預建的、全面的網頁捕捉解決方案,無縫集成到現有應用程式中。通過自動化文件捕捉並提升數據準確性,各組織可以精簡運作,提升效率,並為客戶提供無縫的引導體驗。

5. ML Kit

由 Google 開發, ML Kit 提供設備上的文字識別功能,簡化了 OCR 功能在 Android 應用程式中的整合。借助 ML Kit,開發人員可以從單一圖像中識別文本,而無需具備大量的機器學習專業知識。通過利用 Firebase 的 ML Kit,開發人員可以解鎖應用程式中以文本為基礎的內容互動的新可能性。

ML Kit 的一個突出特點是其對設備處理的重視,使應用程式能夠直接在用戶的設備上執行複雜的機器學習任務。這種方法不僅確保了快速和響應性能,還通過使敏感數據保持本地來尊重用戶隱私。通過利用 ML Kit 的直觀 API 和全面的文檔,開發人員可以快速將強大的機器學習功能實現到其 Android 應用程式中,在保持無縫用戶體驗的同時增強用戶參與度和功能性。

現在讓我們來探討創新的 Tesseract4Android 圖書館,它針對 Android 開發提供了先進的 OCR 功能。

介紹 Tesseract4Android

Tesseract4Android 代表流行的 tess-two 庫的一個分支,從頭開始仔細重寫,以便無縫整合進現代開發環境,如 CMake 和最新版本的 Android Studio。這個庫利用了著名的 Google Tesseract OCR 引擎的功能,因其準確性和廣泛的語言支持而聞名。通過利用 Java 和 JNI 包裝器,Tesseract4Android 為開發者提供了一個簡單的接口,以將先進的文本識別功能集成到他們的 Android 應用程序中。

Android OCR 庫 (開發人員清單):圖 1 - Tesseract4Android

主要特性和依賴關係

Tesseract4Android 建立在強大的依賴關係之上,確保最佳性能和可靠性。主要特性和依賴關係包括:

  • Tesseract OCR 5.3.4:利用最新的 OCR 技術進展,Tesseract4Android 提供最先進的文本識別能力。
  • Leptonica 1.83.1:這個重要的庫提供圖像處理功能,通過優化輸入圖像提高文本識別的準確性。
  • libjpeg v9elibpng 1.6.40:這些庫使圖像處理和操作更加高效,對 OCR 應用中的預處理任務至關重要。

Tesseract4Android 入門

將 Tesseract4Android 整合到您的 Android 應用程式中是一個簡單的過程。請按照以下步驟開始您的 OCR 旅程:

  1. 添加 JitPack 代碼庫:通過將 JitPack 代碼庫添加到您的項目根目錄 build.gradle 文件中來將 Tesseract4Android 庫整合到您的項目中。
allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
allprojects
If True Then
		repositories
		If True Then
			'...
			maven
			If True Then
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'				url 'https: } }
VB   C#
  1. 包含依赖项:在您的應用程式模組的 build.gradle 文件中指定 Tesseract4Android 依赖项,根据您的性能需求选择标准版或 OpenMP 版。
dependencies {
        // Standard variant
        implementation 'cz.adaptech.tesseract4android:tesseract4android:4.7.0'
        // OpenMP variant
        implementation 'cz.adaptech.tesseract4android:tesseract4android-openmp:4.7.0'
    }
dependencies {
        // Standard variant
        implementation 'cz.adaptech.tesseract4android:tesseract4android:4.7.0'
        // OpenMP variant
        implementation 'cz.adaptech.tesseract4android:tesseract4android-openmp:4.7.0'
    }
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#
  1. 利用 TessBaseAPI:在您的程式碼中運用 TessBaseAPI 類別來啟動文字辨識過程。透過配置所需的語言檔案和影像輸入來設置 API,並有效地檢索已辨識的文字。

使用 Tesseract 適用於 Android 的範例代碼

以下是一個基本範例,演示如何使用 Tesseract 適用於 Android 對圖像進行 OCR:

import com.googlecode.tesseract.android.TessBaseAPI;
import android.graphics.Bitmap;
public class OCRManager {
    private TessBaseAPI tessBaseAPI;
    public OCRManager(String dataPath, String language) {
        tessBaseAPI = new TessBaseAPI();
        tessBaseAPI.init(dataPath, language);
    }
    public String recognizeText(Bitmap bitmap) {
        tessBaseAPI.setImage(bitmap);
        return tessBaseAPI.getUTF8Text();
    }
    public void onDestroy() {
        if (tessBaseAPI != null) {
            tessBaseAPI.end();
        }
    }
}
import com.googlecode.tesseract.android.TessBaseAPI;
import android.graphics.Bitmap;
public class OCRManager {
    private TessBaseAPI tessBaseAPI;
    public OCRManager(String dataPath, String language) {
        tessBaseAPI = new TessBaseAPI();
        tessBaseAPI.init(dataPath, language);
    }
    public String recognizeText(Bitmap bitmap) {
        tessBaseAPI.setImage(bitmap);
        return tessBaseAPI.getUTF8Text();
    }
    public void onDestroy() {
        if (tessBaseAPI != null) {
            tessBaseAPI.end();
        }
    }
}
Private com As import
Private android As import
Public Class OCRManager
	Private tessBaseAPI As TessBaseAPI
	Public Sub New(ByVal dataPath As String, ByVal language As String)
		tessBaseAPI = New TessBaseAPI()
		tessBaseAPI.init(dataPath, language)
	End Sub
	Public Function recognizeText(ByVal bitmap As Bitmap) As String
		tessBaseAPI.setImage(bitmap)
		Return tessBaseAPI.getUTF8Text()
	End Function
	Public Sub onDestroy()
		If tessBaseAPI IsNot Nothing Then
			tessBaseAPI.end()
		End If
	End Sub
End Class
VB   C#

IronOCR 介紹:提升 .NET 的文字識別功能

IronOCR 成為.NET開發人員尋求可靠且高效的OCR解決方案的首選。憑藉其無與倫比的準確性、語言支持以及易於整合,IronOCR使開發人員能夠在.NET應用程式中釋放文本識別的新可能性。無論是處理掃描文件、從圖像中提取信息,還是自動化數據輸入任務,IronOCR都提供了提高生產力和推動創新的工具和功能。

Android OCR 庫 (開發者列表): 圖 2 - IronOCR

IronOCR 的主要功能

  1. 準確性及可靠性:IronOCR 在文字識別方面提供了極高的準確性,確保在各種影像和文字類型中都能獲得可靠的結果。其先進的算法經過訓練,即使在低解析度或偏斜透視等困難條件下,也能準確識別並提取影像中的文字。

  2. 語言和字體支援:IronOCR 支援多種語言和字體,使其適用於面向全球受眾的應用程式。不論是處理拉丁語系語言、亞洲語系還是西里爾字母,IronOCR 都能提供強大的支援,適應多元的語言環境。

  3. 多樣性及靈活性:IronOCR 提供多樣性和靈活性,使開發者能將 OCR 功能整合到各類型的 .NET 應用程式中。不論是桌面軟體、網路應用或是雲端解決方案,IronOCR 都能無縫整合到 .NET 生態系統中,讓開發者能在不同平台和環境中發揮其功能。

  4. 易於整合:感謝其直觀的 API 和豐富的文件,將 IronOCR 整合到 .NET 應用程式中變得十分簡單。IronOCR 對包括 .NET Core 和 .NET Framework 在內的多種 .NET 框架提供了全面支援,使開發者能迅速將其納入專案中,並以極小的努力從影像中提取文字。

安裝 IronOCR for .NET

要將 IronOCR 整合到您的 .NET 專案中,請遵循以下步驟:

  1. 通過 NuGet 套件管理器或套件管理器控制台安裝 IronOCR NuGet 套件:
Install-Package IronOcr
Install-Package IronOcr
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronOcr
VB   C#
  1. 或者,使用 NuGet 套件管理器為方案下載它。瀏覽 IronOCR 並安裝。

Android OCR 庫(供開發者使用):圖 3 - 安裝 IronOCR

  1. 在您的 .NET 應用程式中開始使用 IronOCR,通過導入 IronOCR 命名空間並利用它的 API 執行 OCR 任務。

使用 IronOCR for .NET 的示例代碼

這是一個基本的示例,說明如何在 .NET 應用程序中使用 IronOCR 對圖像進行 OCR:

using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        string imageText = new IronTesseract().Read(@"images\image.png").Text;
    Console.WriteLine("Recognized Text:");
        Console.WriteLine(imageText);
    }
}
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        string imageText = new IronTesseract().Read(@"images\image.png").Text;
    Console.WriteLine("Recognized Text:");
        Console.WriteLine(imageText);
    }
}
Imports IronOcr
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim imageText As String = (New IronTesseract()).Read("images\image.png").Text
	Console.WriteLine("Recognized Text:")
		Console.WriteLine(imageText)
	End Sub
End Class
VB   C#

查看本教程,以獲取在 .NET MAUI 應用程序中實現 OCR 的綜合指南,同時也可在 Android 上運行: NET MAUI OCR 教程.

輸入圖片

Android OCR 庫(開發者列表):圖 4 - 訓練數據輸入

輸出

Android OCR 庫 (開發者清單): 圖 5 - OCR 輸出

如需更詳細的信息和更多OCR功能,請訪問 文檔代碼範例 頁面。

結論

Android OCR 函式庫利用多語言的訓練數據,例如 Tesseract 數據,從單個圖像中提取文本。這些函式庫以人工智慧為核心,比如 Tesseract for Android,使開發人員能夠精準地識別文本。集成通常包括分享菜單等功能,提供跨不同應用和語言的無縫用戶體驗。

在 .NET 生態系統中,IronOCR 因其先進的功能、無縫集成和無與倫比的準確性而脫穎而出。使用 IronOCR,.NET 開發人員可以輕鬆地從圖像中提取文本,開啟提升用戶體驗、自動化工作流程以及推動在各行各業中實現數字化轉型的機會。

使用 IronOCR,在 .NET 應用中進行文本識別的可能性是無限的,為開發人員提供了 免費試用 測試所需的工具和功能,以突破文本識別和分析的可能性邊界。

其Lite 授權 起價 $749,無任何定期費用。從 下載該庫 這裡 試試看。

< 上一頁
收據OCR庫(開發人員清單)
下一個 >
最佳光學字符識別軟體 (OCR比較)

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 2,433,305 查看許可證 >