基于zed的tesseract移植过程记录
搞了很多天的tesseract了,其实感觉收获不是很大,本想看看源代码的,想弄清楚,方便日后自己修改源码的,可是。。可是。。可是。。
于是今天就打算把这个软件移植到Zynq上,在PC上之前就已经成功安装了tesseract了,并且利用自带的测试图片试了下,没问题。挺容易的。但是移植到ZYnq上面,我就有点心虚了,心虚肯定是有原因的,自己知识准备得不够,对linux了解的也不多,对交叉编译的理解等等,库,头文 件,configure,make,make install等等都是需要好好了解的,而且还需要对configure的参数设置得有点知识吧。好了,废话就不说了,我先记录下自己的移植过程吧。
用tesseract的知道,这个软件是需要leptonica的支持,这个东西其实也就是另外的一个软件一样,它实现了很多图像处理方面的功能,类似于 OPENCV吧。这个在PC上的安装很简单,.confiugre.make ,make install就搞定了,默认的安装应该是在.usr/local/下面的吧。当然我需要的交叉编译,产生能够在Zynq上面能够使用的库啊,头文件什么 的。自然要用到交叉编译工具,叫什么arm-xilinx-linux-gunbeabi-gcc之类的称呼,好长。。。不过意思确实很明显的,说明这个 编译工具编译出来的执行环境是xilinx公司的arm相关的产品,对我来说,手里就只有一块赠送的ZED板子了,不过感觉这块板子还是不错的。哈哈。好 多废话。。说说怎么编译leptonica吧。。再来点废话,交叉编译的理解多掌握一些的好,不然跟着做也没啥意思,理解了才是万能的哇。。我这种新手, 对linux不懂得人当然首先学习一些知识赛。。 /7082590,这个博客讲的还是可以的,给我提供了参考和一些知识,在此感谢,不然我真不知道怎么下手啊,有没人指导,自己瞎弄不知道什么时候啊,幸 好有这些网友的无私奉献。。
第一步:设置相关环境变量:
export PATH=$PATH:(就是那个 arm-xilinx-linux-gnueabi-gcc这个工具的目录/bin) //指定交叉编译器的路径,这个步骤其实早就做过了,开发板到手这个多天了,算得上学习的第一个实验就是交叉环境的搭建,还记得吧。。
export CC= arm-xilinx-linux-gnueabi-gcc //指定C文件的编译工具
export CXX=arm-xilinx-linux-gnueabi-g++ //指定c++文件的编译工具
关于这部分我想说的是我是参考那个博客的,其实这些东西应该是研究configure -help这个东东,看这个配置的参数,我看了下,除了上面提到的两个以为,还设计到其他的包括一些库路径,源文件路径啊,什么的,其实重要的也就是那几个吧。然户就执行
./configure --build=i686-pc-linux-gnu --host=arm-xilinx-linux-gnueabi --target=arm-xilinx-linux-gnueabi CFLAGS=-I/home/gzw/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/ LDFLAGS=-L/home/gzw/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/lib --prefix=/home/gzw/install/leptonica-1.69
这个后面一堆其实都是写configure的参数,功能嘛,看看help就知道啦。
然后就是make,make install,由于在执行configure的时候我们指定了安装路径为/home/gzw/install/leptonica-1.69的,所以安装的东西就在这个下面了。
到此为止leptonica就安装好了。
下面接着讲tesseract的安装,跟上面类似了,所以上面的成功了,下面如鱼得水啊。。。。。
前面说过tesseract需要用到leoptonica的东东,所以我就把安装好的/include 和/lib拷贝到交叉工具所在路径里面去了,然后再configure的时候指定下需要的头文件,库路径啊之类的就可以了。如下:
./autogen.sh
这部分是不可少的哦,因为configure的时候需要那个makefile.in文件,其实文件看看在linux自动生产的能够makefile的原理就大概知道这些文件时干什么用的了。
./configure --build=i686-pc-linux-gnu --host=arm-xilinx-linux-gnueabi --target=arm-xilinx-linux-gnueabi CFLAGS=-I/home/gzw/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/ LDFLAGS=-L/home/gzw/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/lib --prefix=/home/gzw/install/tesseract-3.01
之后就make ,make make install 安装成功了,路径在在指定的 /home/gzw/install/tesseract-3.01下面了在,这个东东应该都是在Zynq需要的东东,才能用的东东。好了先这样吧。继续实验实验。。
2013.4.2今天本来想把相关库文件bin文件等拷贝到zynq上面去运行的,不过拷贝的时候说空间不够,我也不知