logo
0
0
WeChat Login
docs: add README for img2vcard tool and include dependency metadata in script

名片图片转 VCard 工具

这是一个智能名片识别工具,可以从名片图片中自动提取联系人信息并生成标准的 VCard 文件。

功能特点

  • 🔍 智能识别名片图片中的文字信息
  • 📇 自动提取姓名、电话、邮箱、部门、职位等字段
  • 📱 生成标准的 VCard (.vcf) 格式文件
  • 🚀 支持批量处理目录中的所有图片
  • 🔄 智能跳过已处理的文件,避免重复处理

支持的图片格式

  • JPG/JPEG
  • PNG
  • BMP
  • TIFF/TIF
  • GIF
  • WebP

环境准备

1. 安装 uv

如果还没有安装 uv,请先安装:

# macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # 或者使用 pip pip install uv

2. 配置环境变量

配置 DashScope API Key,支持以下几种方式:

方式一:使用 .env 文件(推荐)

创建 .env 文件:

echo "DASHSCOPE_API_KEY=your_api_key_here" > .env

方式二:临时设置(仅当次运行有效)

export DASHSCOPE_API_KEY=your_api_key_here uv run img2vcard.py ./images

或者一行命令:

DASHSCOPE_API_KEY=your_api_key_here uv run img2vcard.py ./images

方式三:永久配置(添加到 shell 配置文件)

对于 zsh 用户(macOS 默认):

echo 'export DASHSCOPE_API_KEY=your_api_key_here' >> ~/.zshrc source ~/.zshrc

对于 bash 用户:

echo 'export DASHSCOPE_API_KEY=your_api_key_here' >> ~/.bash_profile source ~/.bash_profile

💡 获取 API Key:访问 阿里云百炼控制台 获取你的 API Key

使用方法

使用 uv 直接运行脚本(会自动处理依赖):

uv run img2vcard.py <图片目录路径>

示例

# 处理当前目录下的所有名片图片 uv run img2vcard.py . # 处理指定目录下的名片图片 uv run img2vcard.py /path/to/business/cards

输出说明

工具会为每张成功识别的名片图片生成对应的 .vcf 文件:

名片图片.jpg → 名片图片.jpg.vcf

生成的 VCard 文件包含:

  • 姓名 (FN/N)
  • 电话 (TEL)
  • 邮箱 (EMAIL)
  • 公司/部门 (ORG)
  • 职位 (TITLE)

工作原理

  1. 扫描指定目录中的所有图片文件
  2. 使用阿里云百炼的 qwen-vl-ocr-latest 模型进行 OCR 识别
  3. 智能解析识别结果,提取结构化的联系人信息
  4. 生成符合 vCard 3.0 标准的联系人文件

注意事项

  • 确保图片清晰,名片信息完整可见
  • 工具会自动跳过已生成 VCard 的图片,避免重复处理
  • 如果识别失败,请检查图片质量或 API Key 配置
  • 生成的 VCard 文件可以直接导入到手机通讯录或其他联系人管理软件

依赖说明

项目使用了 inline metadata 特性,依赖会由 uv 自动管理:

  • dashscope: 阿里云百炼大模型服务 SDK
  • python-dotenv: 环境变量管理