iPhone:如何使用 iOS 文本檢測功能

iOS 11 中的 Vision 擁有創建應用程序所需的一切,該應用程序可以識別文本字符並同時實現。您不需要技術編碼知識 - 導航該功能非常簡單。更重要的是,實施是無縫的。

願景框架

視覺框架使您能夠輕鬆實施任何涉及計算機細節的任務。該結構執行人臉和人臉地標檢測、條形碼識別、圖像配準、一般特徵跟踪和文本檢測。Vision 還允許您將自定義 Core ML 模型用於分類或對象檢測等任務。

VN DetectTextRectanglesRequest

該 VN DetectTextRectanglesRequest 是查找一個圖像中可見的文本的區域的圖像分析請求; 該功能將文本字符作為具有原點和大小的矩形邊界框返回。

如果您習慣使用 swift 並且已經編程了一段時間,那麼您可能想知道 Vision 在有其他功能(例如圖像和 AVFoundation)時有什麼用途。嗯,Vision 更準確,更直接。該功能也可在各種平台上使用。但是,使用 Vision 可能需要更多的處理能力和處理時間。

要使用 Vision 進行文本檢測,您需要 Xcode 9 和運行 iOS 11 的設備。

使用 Avcapture 創建相機

首先,您需要使用AVCapture創建一個相機 ;這是通過初始化一個對象 AVcapturesession 來執行實時或離線捕獲。之後,建立與設備連接的會話。

為了節省您構建應用程序 UI 的時間,請考慮擁有一個入門項目,首先,這將使您有時間專注於學習 Vision 框架。

打開您的入門項目。故事板中的視圖應該已經準備好並為您設置好了。

在 ViewController.swift 上, 查找帶有函數和出口的代碼部分。

在outlet  - ImageView 下,為AVcapturesession聲明一個會話 ——只要您希望基於實時流執行操作,就可以使用它。

將 AVcapturesession 和 AVmediatype 設置 為視頻,因為您將執行相機拍攝以使其能夠連續運行

定義輸出和輸入設備

輸入是相機將看到的,輸出是 KCVPixelFormatType_32GRA 設置類型格式的視頻。

最後,將 包含視頻的子層添加 到 imageView 並啟動會話。該函數稱為 inViewdidload。 您還需要設置圖層的框架。

在viewWillAppear 方法中調用該函數 。

由於邊界尚未最終確定,請覆蓋 viewDidLayoutSubviews ( ) 方法以更新綁定的層。

iOS 10 發布後,需要在 Info.plist 中增加一個條目,這提供了使用相機的原因。您還應該設置隱私-相機使用說明。

文本檢測;視覺框架的工作原理

在應用程序上實現 Vision 需要三個步驟。

處理程序—— 這是你希望框架在請求被調用後做一些事情的時候。

觀察—— 這是你想要對你提供的數據做的事情,從一個請求開始

請求—— 這是你要求檢測框架的時候

理想情況下,您可以創建一個文本請求作為 VNdetecttextrectanglesrequest。這是一種 圍繞文本的 VNrequest。框架完成應用程序後,您將繼續調用 Dettexthandler 函數。您還想知道被識別的確切幀,將其設置為 Reportcharacterboxes =True。

之後,定義包含VNdetecttextrectanglesrequest 的所有結果的 觀察,記得將 Vision 添加到輸出相機。由於 Vision 公開了高級 API,因此使用它是安全的。

該函數檢查 Cmsamplebuffer 是否 存在和 PutOut  Avcaptureoutput。然後,您應該著手建立一個變量 Requestoptions 為1詞典類型 VNimageoption。所述 VNmage 選項是一個類型的結構,它包含從相機屬性和數據。然後您應該創建 VNimagerequesthandler 並執行文本請求。

在檢測到的文本周圍繪製邊框

您可以首先讓框架繪製兩個框,一個用於檢測到的每個字母,另一個用於每個單詞。表格是您的請求會找到的所有字符框的組合。

  • 定義視圖上的點以幫助您定位框。
  • 之後,創建一個 CALaye r;使用 VNrectangleobservation 來定義您的約束,使勾勒框的過程更容易。

您現在已經佈置了所有功能。

要連接您的點,首先讓您的代碼異步運行。然後,您應該檢查VNTextObservation的結果中是否存在區域 。

您現在可以調用您的函數,它將在該區域內繪製一個框。檢查區域內是否有字符框,然後調用在每個字母周圍帶框的服務。

之後,創建一個變量 RequestOptions。 您現在可以創建一個 VNImageRequestHandler 對象並執行您創建的文本請求。

最後,最後一步是使用實時流運行您的視覺代碼。您需要獲取視頻輸出並將其轉換為 Cmsamplebuffer。

附加提示

始終嘗試裁剪圖像並僅處理您需要的部分。這將減少處理時間和內存佔用

在處理非數字字符時打開語言校正,然後在處理數字字符時將其關閉

包括對已識別數字字符串的驗證以確認准確性並消除向用戶顯示錯誤值。

文檔相機控制器是文本識別的最佳伴侶,因為圖像質量在文本識別中起著重要作用。

考慮設置最小文本高度以提高性能。

使用 Vision,您擁有文本識別所需的一切。由於 Vision 易於使用且實施時間短,因此使用它幾乎等同於玩樂高積木。嘗試在不同的對象、字體、光照和大小上測試您的應用。您還可以通過將 Vision 與 Core ML 結合來給自己留下深刻印象。

留下評論

iPhone 18 Pro 顯示器和頭痛問題:哪些已確認,哪些尚未確認,以及可以嘗試哪些方法

iPhone 18 Pro 顯示器和頭痛問題:哪些已確認,哪些尚未確認,以及可以嘗試哪些方法

擔心 iPhone 18 Pro 的螢幕可能會引起頭痛?蘋果公司就 OLED、PWM、顯示脈衝平滑、亮度以及實際舒適度測試等問題給出了以下確認資訊。

iPhone 18 Pro 上的操作按鈕 2.0:真正值得使用的最佳自訂功能

iPhone 18 Pro 上的操作按鈕 2.0:真正值得使用的最佳自訂功能

蘋果官方並未將其命名為「操作按鈕 2.0」。查看 iPhone 18 Pro 的最佳設置,以兼顧速度、專注力、旅行、輔助功能和日常使用。

iPhone 18 對比 iPhone 17:升級真的值得嗎?

iPhone 18 對比 iPhone 17:升級真的值得嗎?

截至2026年9月14日,蘋果尚未發表標準版iPhone 18。以下是iPhone 17與官方iPhone 18 Pro升級路線的比較。

iPhone 18 連線問題:如何輕鬆解決 Wi-Fi 與 5G 斷線問題

iPhone 18 連線問題:如何輕鬆解決 Wi-Fi 與 5G 斷線問題

這是一份實用的 iPhone 18 連線指南,針對 Wi-Fi 和 5G 連線中斷問題,提供 Apple 支援的檢查方法,包括快速無線電重設、電信商更新和網路重置。

iPhone 18 Pro 相機評測:全新感光元件真的能帶來顛覆性改變嗎?

iPhone 18 Pro 相機評測:全新感光元件真的能帶來顛覆性改變嗎?

對 iPhone 18 Pro 相機進行實際的發布前評估,包括新的 48MP 主感應器、可變光圈、專業控制以及仍需進行實際測試的功能。

iPhone 18 Pro 中你可能錯過的隱藏功能

iPhone 18 Pro 中你可能錯過的隱藏功能

探索蘋果確認的 iPhone 18 Pro 隱藏功能,包括手動相機控制、參考影像、Siri AI、動態島、Safari 等。

iPhone 18 Pro Max 的「幽靈觸控」漏洞:你的螢幕有缺陷嗎?

iPhone 18 Pro Max 的「幽靈觸控」漏洞:你的螢幕有缺陷嗎?

iPhone 18 Pro Max 出現幽靈點擊現象?以下內容將解答已證實的問題、尚未證實的問題、如何找出原因以及何時應尋求 Apple 服務。

iOS 20 導致 iPhone 18 電池耗電過快?目前有哪些解決方法?如何解決電池耗電過快的問題?

iOS 20 導致 iPhone 18 電池耗電過快?目前有哪些解決方法?如何解決電池耗電過快的問題?

正在尋找解決 iPhone 18 上 iOS 20 電池耗電過快問題的方案?蘋果使用的是 iOS 27。安全地診斷電池使用情況、電源模式、更新和電池健康狀況。

iPhone 18 Pro 上的 Apple Intelligence:最值得一試的 5 個最佳 AI 功能

iPhone 18 Pro 上的 Apple Intelligence:最值得一試的 5 個最佳 AI 功能

探索已確認將在 iPhone 18 Pro 上使用的五項 Apple Intelligence 功能,從 Siri AI 到視覺智能,以及哪些功能仍處於測試階段、區域性或尚未公佈。

關於 iPhone 18 Pro 過熱的真相:目前尚無早期用戶評測

關於 iPhone 18 Pro 過熱的真相:目前尚無早期用戶評測

截至2026年9月14日,iPhone 18 Pro尚未正式販售。以下是蘋果公司確認的關於散熱、正常溫度和實際過熱警告信號的資訊。