最近看过此主题的会员

查看: 705|回复: 13

[代码发布] 【预告】调用tessetact实现离线OCR+调用词典查词

[复制链接]

97

主题

1024

积分

134 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7Rank: 7

举世无双百里挑一攻无不克先锋旗帜优秀新人

发表于 2019-1-9 16:23:55 | 显示全部楼层 |阅读模式
目前用 Keyboard Maestro + Alfred + tesseract 实现了让Keyboard Maestro 监控连按三次“O”时调用 Alfred workflow,workflow 运行 shell 脚本进行截图并 OCR,再运行 shell 脚本调用欧路词典查词。

计划写成 AppleScript 脚本或 AppleScript+shell 脚本,实现 BAB 手势调用脚本进行 OCR。

水平有限+拖延症,所以先立个flag
suliveevil.github.io
www.better365.club/?fromuid=18
https://github.com/suliveevil/BetterAndBetter

97

主题

1024

积分

134 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7Rank: 7

举世无双百里挑一攻无不克先锋旗帜优秀新人

 楼主| 发表于 2019-1-9 16:43:09 | 显示全部楼层
所有原始资料,等不及的可以自己动手做tesseract OCR 所需traineddata文件从下面链接下载
tesseract-tessdata


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
suliveevil.github.io
www.better365.club/?fromuid=18
https://github.com/suliveevil/BetterAndBetter
回复

使用道具 举报

97

主题

1024

积分

134 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7Rank: 7

举世无双百里挑一攻无不克先锋旗帜优秀新人

 楼主| 发表于 2019-1-9 16:44:42 | 显示全部楼层
keyboard maestro macro 中所使用代码
[AppleScript] 纯文本查看 复制代码
tell application "System Events"
        tell application "Alfred 3"
                activate
                run trigger "ocrf" in workflow "com.suliveevil.ocrf" with argument ""
        end tell
end tell

suliveevil.github.io
www.better365.club/?fromuid=18
https://github.com/suliveevil/BetterAndBetter
回复

使用道具 举报

97

主题

1024

积分

134 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7Rank: 7

举世无双百里挑一攻无不克先锋旗帜优秀新人

 楼主| 发表于 2019-1-9 16:46:45 | 显示全部楼层
Alfred 3 中所使用代码 part 1【截图+OCR】
[Bash shell] 纯文本查看 复制代码
export PATH=/usr/local/bin/:$PATH

screencapture -i /tmp/ocr_snapshot.png

if [{query} = ""]; then
	tesseract /tmp/ocr_snapshot.png stdout 2>&1
else
	tesseract /tmp/ocr_snapshot.png stdout -l {query} 2>&1
fi

suliveevil.github.io
www.better365.club/?fromuid=18
https://github.com/suliveevil/BetterAndBetter
回复

使用道具 举报

97

主题

1024

积分

134 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7Rank: 7

举世无双百里挑一攻无不克先锋旗帜优秀新人

 楼主| 发表于 2019-1-9 16:48:04 | 显示全部楼层
Alfred 3 中所使用代码 part 2【调用欧路词典查询】
[Bash shell] 纯文本查看 复制代码
#!/bin/bash
# query=$1
eudic_version=$(/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" /Applications/Eudb_en.app/Contents/Info.plist)
echo $query
if [ "$eudic_version" == "com.eusoft.eudic" ];then
    open -b 'com.eusoft.eudic'
osascript <<EOD
    tell application id "com.eusoft.eudic"
        activate
        show dic with word "{query}"
    end tell
EOD
elif [ "$eudic_version" == "com.eusoft.freeeudic" ];then
    open -b 'com.eusoft.freeeudic'
osascript <<EOD
    tell application id "com.eusoft.freeeudic"
        activate
        show dic with word "{query}"
    end tell
EOD
fi

suliveevil.github.io
www.better365.club/?fromuid=18
https://github.com/suliveevil/BetterAndBetter
回复

使用道具 举报

97

主题

1024

积分

134 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7Rank: 7

举世无双百里挑一攻无不克先锋旗帜优秀新人

 楼主| 发表于 2019-1-9 16:50:07 | 显示全部楼层
有点不足的是偶尔会识别出一些特殊字符,下一步打算用正则表达式删除 OCR 后得到的内容中的特殊字符。
suliveevil.github.io
www.better365.club/?fromuid=18
https://github.com/suliveevil/BetterAndBetter
回复

使用道具 举报

0

主题

671

积分

230 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7Rank: 7

优秀版主

发表于 2019-1-9 17:17:34 | 显示全部楼层
牛逼
www.better365.club
回复

使用道具 举报

97

主题

1024

积分

134 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7Rank: 7

举世无双百里挑一攻无不克先锋旗帜优秀新人

 楼主| 发表于 2019-1-9 18:01:27 | 显示全部楼层
suliveevil.github.io
www.better365.club/?fromuid=18
https://github.com/suliveevil/BetterAndBetter
回复

使用道具 举报

97

主题

1024

积分

134 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7Rank: 7

举世无双百里挑一攻无不克先锋旗帜优秀新人

 楼主| 发表于 2019-1-10 10:22:31 | 显示全部楼层
Alex 发表于 2019-1-9 17:17
牛逼


Alex能帮我看一下我应该怎样把系统剪贴板的内容显示在notification里吗?

[AppleScript] 纯文本查看 复制代码
-- OCR v1.0.0 - BAB version
set the ocrResult to ""
do shell script "screencapture -i /tmp/ocr_snapshot.png;tesseract /tmp/ocr_snapshot.png stdout -l chi_sim+chi_sim_vert+chi_tra+chi_tra_vert+eng+osd 2>&1|pbcopy"
set the clipboard to ocrResult
delay 0.3
display notification (the clipboard) with title "OCR Result"
suliveevil.github.io
www.better365.club/?fromuid=18
https://github.com/suliveevil/BetterAndBetter
回复

使用道具 举报

97

主题

1024

积分

134 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7Rank: 7

举世无双百里挑一攻无不克先锋旗帜优秀新人

 楼主| 发表于 2019-1-10 10:28:57 | 显示全部楼层
KM 花的我这一百多真值啊,通知里显示变量我搜遍全网找不到个有用的参考资料。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
suliveevil.github.io
www.better365.club/?fromuid=18
https://github.com/suliveevil/BetterAndBetter
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表