You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何用Shell脚本将Tesseract-OCR提取文本传入Chrome搜索栏

解决Tesseract-OCR提取文本传入Chrome搜索栏的问题

我来帮你搞定这个问题!其实Chrome本身就支持通过URL直接传递搜索关键词,咱们只需要把Tesseract提取的文本处理一下,拼成搜索URL再传给Chrome就行,具体步骤和示例脚本如下:

核心思路

Chrome可以直接打开带搜索参数的Google URL,格式为:https://www.google.com/search?q=你的搜索内容,所以关键是:

  • 把Tesseract提取的文本存入变量
  • 对文本进行URL编码(处理空格、特殊字符,避免URL解析错误)
  • 用Chrome打开构造好的搜索URL

完整示例脚本

# 1. 用Tesseract提取图片文本并存入变量
# 替换成你的图片路径,stdout表示直接输出到终端而不生成文件
extracted_text=$(tesseract /path/to/your/image.png stdout)

# 2. 对提取的文本进行URL编码(两种可选方式)
# 方式一:用jq工具(需要先安装jq,适合Linux/macOS)
encoded_text=$(printf "%s" "$extracted_text" | jq -sRr @uri)

# 方式二:用Python3(系统一般自带,无需额外安装)
# encoded_text=$(python3 -c "import urllib.parse; print(urllib.parse.quote('''$extracted_text'''))")

# 3. 启动Chrome并打开搜索页面
# 根据你的操作系统选择对应命令:
# Linux
google-chrome "https://www.google.com/search?q=$encoded_text"

# macOS
# open -a "Google Chrome" "https://www.google.com/search?q=$encoded_text"

# Windows(Git Bash或WSL环境)
# start chrome "https://www.google.com/search?q=$encoded_text"

注意事项

  • 变量引用要加双引号:确保文本中的空格不会被Shell拆分成多个参数
  • 处理空文本:可以加个判断,避免提取不到文本时打开空搜索:
    if [ -n "$extracted_text" ]; then
        google-chrome "https://www.google.com/search?q=$encoded_text"
    else
        echo "Error: No text extracted from image"
    fi
    
  • 多行文本处理:Tesseract提取的换行符会被URL编码为%0A,Google搜索会自动将其视为空格处理,无需额外操作

内容的提问来源于stack exchange,提问作者Hunter Rios

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:44:25