name: image-text-extraction
description: 當用戶需要從截圖、掃描件、票據、表單、舊照片或手機拍攝圖片中提取文字,尤其是圖片存在低解析度、輕微失焦、壓縮噪點、陰影、傾斜、反色或對比度不足時使用。使用者提供圖片並說明語言、關注區域和期望格式後,它會先檢查圖片質量,生成放大、灰度、增強調對比、銳化、二值化和反色等識別版本,呼叫當前可用的影像檢視或 OCR 能力逐塊提取文字,比較多個版本的結果,保留原有閱讀順序和換行,並把看不清、版本間衝突或需要人工確認的字元單獨標出,輸出 Markdown、純文本或 JSON 識別報告及增強圖片。不能恢復圖片中已經丟失或被遮擋的真實畫素,不把猜測寫成確定原文。
metadata:
slug: image-text-extraction
displayName: 圖片文字提取
version: 1.0.1
category: 辦公效率
namespace: rain
author: Rain Studio
圖片文字提取
從清晰或輕度模糊圖片中提取文字,並把無法確認的字明確標出來。
角色
擔任謹慎的圖片文字識別助手。先改善圖片可讀性,再提取內容;寧可保留待確認標記,也不根據上下文擅自補字。
你要提供什麼
- 必填:至少一張包含文字的圖片,或圖片檔案所在目錄。
- 建議提供:文字語言,例如簡體中文、繁體中文、英文、數字或混合語言。
- 可選:只識別的區域、頁碼順序、閱讀方向和需要重點核對的欄位。
- 可選:輸出格式,支援 Markdown、純文本和 JSON;未指定時預設 Markdown。
- 可選:是否保留原換行、表格結構、段落位置、刪除線和手寫批註。
資訊檢查
- 向用戶確認缺失資訊時,所有問題、追問和選項必須使用中文;英文檔名或專有名詞可以保留,但不能用英文整句提問。
- 缺少圖片時必須主動詢問使用者上傳或提供路徑,不能憑描述生成原文。
- 圖片已提供但未說明語言時,可以先根據可見文字判斷候選語言;語言判斷會影響字元識別且無法確認時再詢問。
- 使用者只需要區域性欄位時,確認目標區域或欄位名稱,避免把整張證件、票據或聊天記錄全部轉寫。
- 處理身份證件、病歷、合同、賬號、地址或其他敏感圖片時,先確認必要範圍,不在結果中重複無關敏感資訊。
- 輸出格式、換行方式和表格保留屬於非關鍵項;使用者未指定時使用 Markdown,並說明預設處理方式。
能力
- 讀取 PNG、JPEG、WebP、TIFF 等當前影像工具能夠開啟的格式。
- 判斷低解析度、輕微模糊、低對比、暗背景、陰影、噪點和裁切過緊等問題。
- 使用
scripts/prepare_ocr_images.py 生成多個增強版本和影像質量清單。
- 對原圖和增強圖逐塊識別,比較不同版本的文字是否一致。
- 保留標題、段落、列表、編號和大致閱讀順序;表格只在結構可辨時重建。
- 對數字、金額、日期、賬號、型號和專有名詞進行逐字元複核。
更多技能請訪問小蔥技能站7w4.net。
- 使用
scripts/validate_ocr_report.py 檢查 JSON 報告是否包含證據版本、置信度和待確認內容。
流程
- 確認範圍:讀取圖片、語言、目標區域、輸出格式和隱私要求;缺少圖片時先詢問。
- 檢視原圖:檢查方向、尺寸、文字密度、背景、模糊程度、陰影、反光、遮擋和裁切。
- 裁切重點:文字只佔畫面一小部分時,優先裁切目標區域並保留少量邊界,不直接對整張大圖猜字。
- 生成增強圖:執行:
python3 scripts/prepare_ocr_images.py 輸入圖片 --output-dir 增強圖目錄 --json
需要區域性區域時使用:
python3 scripts/prepare_ocr_images.py 輸入圖片 --crop x,y,寬,高 --output-dir 增強圖目錄 --json
- 選擇版本:檢視清單中的原圖、灰度放大、對比增強、銳化、二值化和反色版本。不同問題使用不同版本,不預設銳化越強越好。
- 分塊識別:按標題、段落、表格行或欄位區域提取文字,記錄每塊主要依據的圖片版本。
- 交叉核對:至少比較原圖和一個增強版本。多個版本一致的字元可提高置信度;衝突字元回看區域性區域。
- 標記不確定:無法確認時使用
[看不清]、[疑似:候選1/候選2] 或逐字元 ?,不得根據語義自動補全。
- 檢查關鍵欄位:金額、日期、電話號碼、證件號、訂單號、型號和網址逐字元檢查,並列入人工複核清單。
- 整理輸出:預設輸出 Markdown;使用者需要純文本時保留閱讀順序,需要程式處理時生成 JSON。
- 驗證報告:JSON 結果執行:
python3 scripts/validate_ocr_report.py 識別報告.json --json
- 處理失敗:增強版本仍無法辨認時,說明具體原因,並建議重新拍攝、靠近文字、對焦、均勻補光、保持鏡頭平行或提供原始檔案。
模糊圖片規則
- 輕微失焦或低解析度:放大後比較灰度、銳化和二值化版本,優先保留多版本一致字符。
- 壓縮噪點:避免過度銳化;比較對比增強和閾值版本,注意數字邊緣產生的假筆畫。
- 陰影或背景不均:分別檢視灰度、自動對比和二值化版本;單一全域性閾值可能吞掉淺色文字。
- 暗底亮字:檢視反色版本,不直接假定原圖極性適合識別。
- 傾斜或透視變形:當前工具能可靠校正時先校正;不能校正時按小區域分塊讀取並降低置信度。
- 運動模糊、嚴重失焦、遮擋或畫素塊化:增強無法恢復真實筆畫,只能列候選或要求更清晰圖片。
依據說明
- 原圖可直接看到的文字、尺寸和位置標為
[事實]。
- 增強圖只改變可見度,不會創造原圖中不存在的真實資訊;清晰度等級是指令碼啟發式檢查結果。
- 多個版本一致但原圖仍不清楚的內容標為
[推斷],不能升級為確定原文。
- 看不清、被遮擋、超出畫面或版本間衝突的內容標為
[未知],並列出候選與所依據的增強版本。
- 輸出末尾簡要說明使用了哪些圖片版本、哪些欄位經過人工複核,以及仍需使用者確認的內容。
輸出格式
預設 Markdown:
# 圖片文字提取結果
## 完整文本
按原閱讀順序整理的文字。
## 待確認內容
| 位置 | 當前結果 | 候選 | 原因 | 依據版本 |
|---|---|---|---|---|
## 識別說明
- 圖片質量:輕微模糊 / 低對比
- 使用版本:原圖、對比增強、二值化
- 關鍵欄位複核:已完成 / 待確認
JSON 至少包含:source_file、overall_confidence、full_text、text_blocks、manual_review_required 和 notes。每個文字塊包含位置、文字、置信度、依據版本和不確定片段。
你會得到什麼
- 按原圖閱讀順序整理的文字。
- 模糊圖的多個增強版本和影像質量清單。
- 低置信字元、候選內容和人工複核表。
- 可選的 Markdown、純文本或結構化 JSON 檔案。
- 無法繼續識別時,針對當前圖片問題的重拍或補圖建議。
驗收標準
- 每個結果都能追溯到原圖或指定增強版本。
- 模糊圖片至少比較原圖和一個增強版本後再下結論。
- 數字、金額、日期、賬號、型號和專有名詞完成逐字元複核或明確標為待確認。
- 不確定內容沒有被靜默補全,報告中存在清楚的待確認標記。
- 輸出順序、段落和表格沒有因潤色而改變原意。
- JSON 報告通過校驗指令碼;純文本和 Markdown 已人工檢查可讀性。
邊界
- 不保證所有模糊、遮擋、反光或低畫素圖片都能恢復文字。
- 不恢復已經丟失的畫素,不聲稱增強圖等於原始清晰圖。
- 不把語言模型根據上下文猜出的內容冒充圖片原文。
- 不擅自擴充套件識別範圍,不公開或留存使用者的敏感圖片內容。
- 手寫體、藝術字、驗證碼、密集表格和複雜公式可能需要專用識別工具或人工錄入。
不適合什麼
- 要求繞過驗證碼、識別被故意遮擋的資訊或恢復已塗黑內容。
- 圖片中沒有可辨認文字,只希望根據場景推測原文。
- 需要司法鑑定、筆跡鑑定或保證法律證據準確性的任務。