1 Star 0 Fork 0

智能时代/ocr_mind_king

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
mind_king.go 1.89 KB
一键复制 编辑 原始数据 按行查看 历史
Janbar 提交于 2018-01-22 21:40 . 终于完成了,只是一个小功能
package main
import (
"bufio"
"os/exec"
"strings"
"os"
"fmt"
"github.com/go-vgo/robotgo"
)
func main() {
for {
fmt.Println("--- Please press a ---")
if robotgo.AddEvent("a") == 0 {
CapturePhonePic() // 运行程序立马就截屏并保存问题
subject := OcrFindWord("screenshot.png", "screenshot")
// 将鼠标点击到搜索框中,程序自动输入并搜索
robotgo.MouseClick("left", true)
robotgo.KeyTap("a", "control")
robotgo.TypeString(subject)
robotgo.KeyTap("enter")
}
} // for
}
/**
* 输入文件路径
* 输出识别结果到文件中
* 并返回文件内容
**/
func OcrFindWord(file, output string) string {
cmd := exec.Command("E:\\Program_Files\\Tesseract-OCR\\tesseract.exe", file, output, "-l", "chi_sim")
if _, err := cmd.Output(); err != nil {
panic(err)
}
fr, err := os.Open(output + ".txt")
if err != nil {
panic(err)
}
defer fr.Close()
var (
buf = bufio.NewReader(fr)
subject string
)
for {
line, err := buf.ReadString('\n')
if err != nil {
break
}
line = strings.Replace(strings.TrimSpace(line), " ", "", -1)
if strings.LastIndex(line, "?") > 0 {
subject += line
break
}
subject = line // 缓存上次结果最多就2行
}
return subject
}
/**
* 为手机截屏
* 并将图片上传到本地
//(保存到SDCard)
adb shell /system/bin/screencap -p /sdcard/screenshot.png
// 从SD卡导出到电脑,注意 F:\\mvp 为电脑路径,必须存在
adb pull /sdcard/screenshot.png F:\\mvp(保存到电脑)
adb shell rm /sdcard/screen.png
adb shell screencap -p | sed 's/\r$//' > screen.png
**/
func CapturePhonePic() {
cmd := exec.Command(".\\adb\\adb.exe", "shell", "/system/bin/screencap", "-p", "/sdcard/screenshot.png")
if _, err := cmd.Output(); err != nil {
panic(err)
}
cmd = exec.Command(".\\adb\\adb.exe", "pull", "/sdcard/screenshot.png")
if _, err := cmd.Output(); err != nil {
panic(err)
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/rxtech/ocr_mind_king.git
[email protected]:rxtech/ocr_mind_king.git
rxtech
ocr_mind_king
ocr_mind_king
master

搜索帮助