资源描述:
《rainysky陪你一起在zedboard上移植qt+opencv(六):在zedboard上运行Opencv.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、rainysky陪你一起在zedboard上移植qt+opencv(六):在zedboard上运行Opencv 和在pc机上一样,建立文件夹/opt/zedboard/opencv_zed,复制文件进来,解压缩:建立两个文件夹build、install,如下图 在这里和pc不太一样了,需要设置编译环境,在opencv-2.4.4下面新建一个文件,文件名为toolchain.cmake,里面的内容为:set(CMAKE_SYSTEM_NAMELinux)set(CMAKE_SYSTEM_PROCESSORarm)set(CMAKE_C_COMPILER/root/CodeS
2、ourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/arm-xilinx-linux-gnueabi-gcc)set(CMAKE_CXX_COMPILER/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/arm-xilinx-linux-gnueabi-g++) 进入build文件里面,输入一下命令进行配置:cmake-DCMAKE_TOOLCHAIN_FILE=toolchain.cmake-DCMAKE_INSTALL_PREF
3、IX=/opt/zedboard/opencv_zed/opencv-2.4.4/install../ 其中CMAKE_INSTALL_PREFIX,代表的是安装的路径,最好是新建一个新文件夹好保存,另外需要注意的是,最后的是../小心不要少敲一个点,否则会错的哦。 ccmake./进行配置,配置的内容是所有的以WITH开头的选项全部选成OFF,(除了WITH_V4L选为ON)因为这些需要第三方库支持的,要是选择这些的话就需要安装第三方库了。 按c配置,按g生成并保存 配置完成后就输入make开始编译,编译完成后就是makeinstall安装啦。安装完成后在insta
4、ll的文件夹里就是运行库啦。新建一个专门写程序的文件夹mkdir/opt/zedboard/opencv_zed/code在里面新建一个测试程序:vimedge_detecTIon.cpp这个代码是教材里面带的那个:/*code*/#include“cv.h”#include“highgui.h” IplImage*doCanny(IplImage*in,doublelowThresh,doublehighThresh,doubleaperture){if(in->nChannels!=1)return(0);//CannyonlyhandlesgrayscaleimagesI
5、plImage*out=cvCreateImage(cvGetSize(in),in->depth,//IPL_DEPTH_8U,1);cvCanny(in,out,lowThresh,highThresh,aperture);return(out);}; intmain(intargc,char**argv){if(argc!=3)printf(“argumentserror!formatorigin_image.bmptarget_image.bmp”);IplImage*img_rgb=cvLoadImage(argv[1]);IplImage*img_gry=cvC
6、reateImage(cvSize(img_rgb->width,img_rgb->height),img_rgb->depth,1);cvCvtColor(img_rgb,img_gry,CV_BGR2GRAY);//cvNamedWindow(“ExampleGray”,CV_WINDOW_AUTOSIZE);//cvNamedWindow(“ExampleCanny”,CV_WINDOW_AUTOSIZE);//cvShowImage(“ExampleGray”,img_gry);IplImage*img_cny=doCanny(img_gry,10,100,3);if(c
7、vSaveImage(argv[2],img_cny,0)!=0)printf(“SaveImageSuccessful”);//cvShowImage(“ExampleCanny”,img_cny);//cvWaitKey(0);cvReleaseImage(&img_rgb);cvReleaseImage(&img_gry);cvReleaseImage(&img_cny);//cvDestroyWindow(“ExampleGray”);//cvDestroyWindo