安装google Tesseract,准备用golang写个图像识别的项目

环境:

OS X EI Capitian Version 10.11.6

安装步骤参照:

https://github.com/GeertJohan/go.tesseract/tree/v1

$ brew install leptonica
$ brew install tesseract
$ export CGO_LDFLAGS="-L/usr/local/Cellar/leptonica/1.72/lib -L/usr/local/Cellar/tesseract/3.04.01_1/lib"
$ export CGO_CFLAGS="-I/usr/local/Cellar/leptonica/1.72/include -I/usr/local/Cellar/tesseract/3.04.01_1/include"

执行第二步时报错:

Error: You must `brew link libpng jpeg libtiff leptonica` before tesseract can be installed

看错误意思是说 :在安装tesseract之前需执行:brew link libpng jpeg libtiff leptonica

果断复制,粘贴,回车,一个三连招...

吐血~报以下错误:

yilizhao:lib zhaoyili$ brew link libpng jpeg libtiff leptonica

Linking /usr/local/Cellar/libpng/1.6.23... 

Error: Could not symlink lib/libpng.a

/usr/local/lib is not writable.

看错误意思是说 : /usr/local/lib你这个目录不允许写

那就让它可以写吧:

sudo chmod -R 777 /usr/local/lib

继续:

brew link libpng jpeg libtiff leptonica

通过!

继续:

brew install tesseract

通过!!

执行最后两条shell

$ export CGO_LDFLAGS="-L/usr/local/Cellar/leptonica/1.72/lib -L/usr/local/Cellar/tesseract/3.04.01_1/lib"
$ export CGO_CFLAGS="-I/usr/local/Cellar/leptonica/1.72/include -I/usr/local/Cellar/tesseract/3.04.01_1/include"

注意:我安装的是Tesseract3.04.01这个版的,leptonica1.72,也许你装的时候这个版本又发生变化了,这里记得用cd命令进去看看有没有存在。并将上述shell的路径更改成正常的。

以上基本上安装完成了。

执行一下试试:

tesseract idcard.jpg result

// 带中文数据包的
tesseract -l chi_sim idcard.jpg result 

//  权识别数字
tesseract -l chi_sim idcard.jpg result digits

会把123.jpg自动识别并转换为txt文件到result.txt

 

续:

由于本人想做一个辅助银行卡卡号输入或身份证输入的,而Tesseract识别是需要语言数据包,于是,我下载了中文简体的数据包:

https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata

那么,这个文件应该放到哪里呢?

我的是在这个目录里:

/usr/local/Cellar/tesseract/3.04.01_1/share/tessdata

数字的数据包:

/usr/local/Cellar/tesseract/3.04.01_1/share/tessdata/configs/digits

转载于:https://my.oschina.net/deanzhao/blog/738032

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文本图像识别(OCR)是一种复杂的任务,需要用到机器学习和深度学习等技术。在C语言中实现OCR是非常困难的,因为C语言缺乏很多高级的库和函数来处理图像和机器学习算法。 但是,你可以使用一些C语言的图像处理库,如OpenCV或ImageMagick,来处理图像。这些库提供了一些基本的功能,如图像读取、处理、转换等。 然后,你可以使用一些开源的OCR库,如Tesseract或GOCR,以C语言的方式调用它们,来实现文本图像识别。 下面是一些示例代码,使用OpenCV和Tesseract库来实现简单的文本图像识别: ```c #include <stdio.h> #include <stdlib.h> #include <opencv2/opencv.hpp> #include <tesseract/baseapi.h> using namespace cv; int main(int argc, char** argv) { // 读取输入的图像 Mat image = imread(argv[1], IMREAD_GRAYSCALE); if (image.empty()) { printf("无法读取图像\n"); return -1; } // 使用图像处理算法,如二值化、降噪等 // ... // 初始化OCR引擎 tesseract::TessBaseAPI* api = new tesseract::TessBaseAPI(); if (api->Init(NULL, "eng", tesseract::OEM_DEFAULT) != 0) { printf("无法初始化OCR引擎\n"); return -1; } // 设置识别模式 api->SetPageSegMode(tesseract::PSM_AUTO); // 识别文本 api->SetImage(image.data, image.cols, image.rows, 1, image.cols); char* result = api->GetUTF8Text(); // 输出识别结果 printf("识别结果:\n%s", result); // 释放资源 api->End(); delete api; delete[] result; return 0; } ``` 需要注意的是,这只是一个简单的示例代码,实际的OCR系统要比这个复杂得多,需要处理各种情况下的图像和文本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值