OpenCV2.0.0移植到ARM9(三)(JZ2440----S3c2440)
在前面已经交叉编译生成了OpenCV的库,libjpeg相关的库。下面尝试OpenCV应用程序编写与交叉编译。
1、opencv测试程序
test.cpp程序代码:
#include <stdio.h>
#include <highgui.h>
#include<imgproc.h>
int main(int argc,char *argv[])
{
IplImage* img = cvLoadImage("abc.jpg");
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
cvShowImage("Example1", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
}
2、编译
其中,opencv生成的库和头文件(在 /work/systems/OpenCVARM/lib下)
libjepg库在/work/system/libjpeg-arm/lib中
编译源文件:
$sudo /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++ test.cpp -o test -I/work/system/OpenCV-2.0.0/include/opencv -L/work/systems/OpenCVARM/lib -lcv -lcxcore -lpthread -lrt -lcvaux -ljpeg -lz -lml -lhighgui -ldl
其中,/work/system/OpenCV-2.0.0/include/opencv为OpenCV2.0.0安装包头文件所在目录。
/work/systems/OpenCVARM/lib为交叉编译生成的OpenCV库所在目录。
我们可以看到编译成功,生成了test可执行文件。
最后,将生成的二进制文件拷到板子上就可运行。