📄 ENHANCED_USAGE.md

⬇️ 下载文件

增强版Image Table Extractor使用指南

📋 功能概述

增强版支持两种识别模式:

  1. AI模式 - 通用图片理解(使用OpenClaw AI能力)
  2. OCR模式 - 表格提取(使用Tesseract)

📁 文件说明

已创建的文件

  1. enhanced_image_extractor.py - 增强版Python脚本

    • 支持AI模式、OCR模式、混合模式
    • 准备AI请求数据
    • 提取图片基本信息
  2. ai-vision.js - AI识别集成模块

    • 在OpenClaw agent环境中使用
    • 调用OpenClaw AI能力
    • 通用图片识别与分析
  3. extract_table.py - 原版OCR脚本

    • 表格提取
    • Excel/CSV输出

🚀 使用方法

方法1: OCR表格提取(完全可用)

cd /root/.openclaw/workspace/skills/image-table-extractor/scripts

# 提取表格并预览
python3 extract_table.py /path/to/table.jpg -p

# 提取并保存为Excel
python3 extract_table.py /path/to/table.jpg -o output.xlsx

# 同时输出Excel和CSV
python3 extract_table.py /path/to/table.jpg -f both

适用场景: 图片中包含清晰的表格,需要提取为Excel/CSV


方法2: AI通用识别(推荐在OpenClaw中使用)

步骤1: 在Python脚本中准备AI请求

cd /root/.openclaw/workspace/skills/image-table-extractor/scripts

# 准备AI请求(生成请求数据)
python3 enhanced_image_extractor.py /path/to/photo.jpg --mode ai --output /tmp/ai_request.json

此命令会:

  • 读取图片并提取基本信息(尺寸、大小、格式)
  • 准备AI分析请求(包含base64编码图片)
  • 将请求数据保存到JSON文件

步骤2: 在OpenClaw agent中完成AI分析

在OpenClaw agent环境中运行:

import { analyzeImageWithAI } from '/root/.openclaw/workspace/skills/image-table-extractor/ai-vision.js';

// 分析图片
const result = await analyzeImageWithAI(
  '/path/to/photo.jpg',
  '请描述这张图片的内容'
);

console.log(result);

或者使用ai-vision.js中的其他函数:

import { extractImageData } from '/root/.openclaw/workspace/skills/image-table-extractor/ai-vision.js';

// 提取结构化数据
const data = await extractImageData(
  '/path/to/document.jpg',
  ['公司名称', '日期', '金额', '发票号码']
);

适用场景: 风景照片、文档、截图等通用图片识别


方法3: 混合模式(AI + OCR)

python3 enhanced_image_extractor.py /path/to/image.jpg --mode both --output /tmp/result.json

会同时进行:

  • AI准备:准备AI分析请求(待agent完成分析)
  • OCR执行:提取表格(如果有)

🎯 实际测试示例

测试您的风景照片

图片路径: /root/clawd/downloads/A3D320F0F4CC95C19A651F3E1AAB4342_1771574423278.jpg

步骤1: 准备AI请求

cd /root/.openclaw/workspace/skills/image-table-extractor/scripts

python3 enhanced_image_extractor.py \
  /root/clawd/downloads/A3D320F0F4CC95C19A651F3E1AAB4342_1771574423278.jpg \
  --mode ai \
  --output /tmp/photo_analysis.json

输出示例:

{
  "image_path": "/root/clawd/downloads/A3D320F0F4CC95C19A651F3E1AAB4342_1771574423278.jpg",
  "image_info": {
    "size": 112149,
    "width": 1105,
    "height": 705,
    "format": "JPEG"
  },
  "analysis": [
    {
      "question": "请详细描述这张图片的内容",
      "ai_request": {
        "status": "ready_for_ai",
        "image_path": "...",
        "base64_data": "...",
        "prompt": "请详细描述这张图片的内容"
      },
      "answer": "等待OpenClaw AI分析..."
    }
  ]
}

步骤2: 在OpenClaw中完成AI分析

// 在OpenClaw agent中运行
import { analyzeImageWithAI } from '/root/.openclaw/workspace/skills/image-table-extractor/ai-vision.js';

const imagePath = '/root/clawd/downloads/A3D320F0F4CC95C19A651F3E1AAB4342_1771574423278.jpg';

// 方式1: 简单描述
const result1 = await analyzeImageWithAI(imagePath);

// 方式2: 提问式分析
const result2 = await analyzeImageWithAI(imagePath, '这张风景照的主要元素有哪些?天空、山脉、树木的情况如何?');

// 方式3: 批量提问
const questions = [
  "天空是什么颜色?有云朵吗?",
  "山脉看起来有多远?",
  "前景中的树木是什么类型?",
  "整体氛围如何?"
];

for (const q of questions) {
  const answer = await analyzeImageWithAI(imagePath, q);
  console.log(`Q: ${q}`);
  console.log(`A: ${answer}`);
}

📊 功能对比

功能 extract_table.py (OCR) enhanced_image_extractor.py (AI+OCR)
表格提取
Excel/CSV输出
通用图片识别
AI理解能力
问答交互
无需外部API
支持风景照
批量处理

🔧 技术实现

AI模式工作原理

┌─────────────────────────────────────────┐
│  Python脚本 (enhanced_image_extractor.py)  │
│  - 读取图片                              │
│  - 提取基本信息                          │
│  - 准备AI请求数据                        │
└──────────────┬──────────────────────────┘
               │
               │ 输出JSON请求
               ▼
┌─────────────────────────────────────────┐
│  OpenClaw Agent (ai-vision.js)          │
│  - 读取JSON请求                          │
│  - 调用OpenClaw AI能力                   │
│  - 返回AI分析结果                        │
└─────────────────────────────────────────┘

OCR模式工作原理

Python脚本 → Tesseract OCR → 表格识别 → Excel/CSV输出

💡 最佳实践

场景1: 提取财务报表表格

# 使用OCR模式(高精度)
python3 extract_table.py financial_report.png -o report.xlsx

场景2: 识别发票信息

// 在OpenClaw agent中
const invoiceData = await extractImageData(
  '/tmp/invoice.jpg',
  ['发票代码', '发票号码', '开票日期', '金额', '购买方名称']
);

场景3: 批量识别商品图片

// 批量分析
const images = ['/tmp/product1.jpg', '/tmp/product2.jpg', '/tmp/product3.jpg'];
const results = await batchAnalyzeImages(images, '描述这个商品的主要特征');

场景4: 风景照片描述

// 简单描述
const description = await analyzeImageWithAI('/tmp/landscape.jpg');

// 详细提问
const details = await analyzeImageWithAI(
  '/tmp/landscape.jpg',
  '这张风景照中天空、山脉、树木、光影的情况如何?'
);

📝 更新日志

  • 2026-02-20: 创建增强版,添加AI模式
    • 新增enhanced_image_extractor.py
    • 新增ai-vision.js
    • 支持AI+OCR双模式

❓ 常见问题

Q: AI模式为什么不能直接在Python脚本中完成?
A: 因为OpenClaw的AI能力是agent级别的能力,需要对话上下文。Python脚本作为工具,准备数据后由agent完成AI分析。

Q: OCR和AI哪个更准确?
A: OCR对印刷体表格更精准;AI对通用图片理解更强,适合非结构化内容。

Q: 可以同时使用两种模式吗?
A: 可以,使用--mode both参数。

Q: 支持哪些图片格式?
A: JPEG, PNG, GIF, BMP, TIFF, WebP等常见格式。


🔗 相关文件

  • enhanced_image_extractor.py - 增强版主脚本
  • ai-vision.js - AI集成模块
  • extract_table.py - OCR表格提取脚本
  • requirements.md - OCR依赖说明
  • SKILL.md - 原版skill文档

vlm安装尝试两次失败(网络/超时)
已创建增强版Image Table Extractor作为备选方案 ✅