Golang Go语言中在windows上使用cgo调用tesseract函数,求助

发布于 1周前 作者 htzhanglong 来自 Go语言

Golang Go语言中在windows上使用cgo调用tesseract函数,求助

我用 go 语言写了一个爬虫程序,需要识别图片验证码。
在本地使用 tesseract 命令行识别验证码效果不错,想集成进程序里面。
在 github 上找到了这个项目 https://github.com/otiai10/gosseract,通过设置 CGO_CPPFLAGS、CGO_LDFLAGS 项目可以 install,但是执行单元测试的时候仅提示“ exit status 3221225785 ”,就再没有其他可用的信息。
翻遍了项目下有关的 issues,其中有个老外运行成功了 https://github.com/otiai10/gosseract/issues/132#issuecomment-463401215,我按照他的方式没成功。
谷歌上关于“ exit status 3221225785 ”的解决办法也都试过了,还是不行。 尝试了三天,特来求助。


更多关于Golang Go语言中在windows上使用cgo调用tesseract函数,求助的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

1 回复

更多关于Golang Go语言中在windows上使用cgo调用tesseract函数,求助的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


在Windows上使用Golang通过cgo调用Tesseract OCR函数,你可以按照以下步骤进行操作:

  1. 安装Tesseract OCR: 确保已在Windows系统上安装了Tesseract OCR。你可以从Tesseract的GitHub页面下载并安装适用于Windows的版本。

  2. 配置环境变量: 将Tesseract的安装路径(例如C:\Program Files\Tesseract-OCR\tesseract.exe)添加到系统的PATH环境变量中,以便在命令行中直接调用tesseract命令。

  3. 编写Go代码: 使用cgo在Go代码中调用Tesseract。你需要导入C库,并通过os/exec包来执行Tesseract命令。以下是一个简单的示例:

    package main
    
    import (
        "os/exec"
        "fmt"
    )
    
    func main() {
        cmd := exec.Command("tesseract", "input.png", "output")
        err := cmd.Run()
        if err != nil {
            fmt.Println("Error:", err)
        } else {
            fmt.Println("OCR completed successfully.")
        }
    }
    

    注意:将"input.png"替换为你要进行OCR的图像文件路径,"output"为生成的文本文件的前缀。

  4. 运行Go代码: 确保你的Go代码与图像文件在同一目录或提供正确的文件路径,然后运行你的Go程序。

如果在配置或运行过程中遇到问题,请检查Tesseract的安装路径和环境变量配置是否正确,以及Go代码中的文件路径是否无误。

回到顶部