您的位置 首页 基础

Zybo Z7上OpenCV和SDSoC的结合

Zybo Z7上OpenCV和SDSoC的结合-这里我们需要将编译好的库添加到你想要用于项目的SDSoC平台的根文件系统中。在这步操作之后,可执行文件(你的应用程序)将能够加载库。 在Zybo Z7平台中使用的文件系统镜像类型是initramfs。如果你手头的是另一种镜像类型,你可以在Xilinx wiki上得到更多的所需信息:+and+Modify+a+Rootfs

软硬件清单

SDSoC

Zybo Z7

包括Linux内核+根文件体系的渠道

装有Linux体系的计算机

获取OpenCV

这一步你至少能够有两个挑选,一种是下载并穿插编译库(docs.opencv.org/2.4/doc/tutorials/introducTIon/crosscompilaTIon/arm_crosscompile_with_cmake);第二种是获取一个现已穿插编译好的库。在这一教程中,咱们事前现已在SDSoC装置文件夹中树立好了OpenCV 2.4.5版别。

修正渠道

这儿咱们需求将编译好的库增加到你想要用于项目的SDSoC渠道的根文件体系中。在这步操作之后,可履行文件(你的应用程序)将能够加载库。 在Zybo Z7渠道中运用的文件体系镜像类型是initramfs。假如你手头的是另一种镜像类型,你能够在Xilinx wiki上得到更多的所需信息:+and+Modify+a+Rootfs

3.1 将根文件体系仿制到临时文件夹中

将坐落渠道的发动文件夹中名为“uramdisk.image.gz”的存档仿制黏贴到一个临时文件夹中。翻开终端,并进入该文件夹。

3.2 去掉U-BOOT头文件以取得CPIO存档

dd if=uramdisk.image.gz bs=64 skip=1 of=ramdisk.gz

3.3 将新的CPIO存档压缩到一个新创立的文件夹中

mkdir my_root

gunzip -c ramdisk.gz | sh -c ‘cd my_root/ && sudo cpio -i’

3.4 仿制库与头文件(-P保存链接)

sudo cp -p /opt/Xilinx/SDSoC/2015.4/SDK/2015.4/data/embeddedsw/ThirdParty/opencv/lib/* my_root/lib/

sudo cp -r /opt/Xilinx/SDSoC/2015.4/SDK/2015.4/data/embeddedsw/ThirdParty/opencv/include/* my_root/usr/include/

3.5 压缩到CPIO和GUNZIP

sudo sh -c ‘cd my_root/ && find 。 | cpio -H newc -o’ | gzip -9 》 my_ramdisk.image.gz

3.6 增加U-BOOT头文件

mkimage -A arm -T ramdisk -C gzip -d my_ramdisk.image.gz my_uramdisk.image.gz

这儿需求保证文件的权限设置为755:

sudo chmod 755 。/my_uramdisk.image.gz

3.7 在渠道中替换新创立的镜像

cp 。/my_uramdisk.image.gz /pathToZyboPlatform/boot/uramdisk.image.gz

在SDSoC中创立并装备一个新项目

4.1 增加包括途径

创立一个新项目,挑选你修正后的渠道,然后挑选你想要运用Linux。在project explorer(左边面板)中右键单击项目,然后点击特点。 进入“C/C ++ build” – 》“设置” – 》 “SDS ++编译器” – 》“目录”,为所选的“build/debug/esTImate装备”增加OpenCV的包括途径(/opt/Xilinx/SDSoC/2015.4/SDK/2015.4/data/embeddedsw/ThirdParty/opencv/include),如下图所示:

Zybo Z7上OpenCV和SDSoC的结合

4.2 链接库

完结后,转到SDS ++ linker‘s configuraTIon,在“库”下,增加要在项目中运用的库及其地点的途径(我这儿是:/opt/Xilinx/SDSoC/2015.4/SDK/2015.4/data/embeddedsw/ThirdParty/opencv/lib)

Zybo Z7上OpenCV和SDSoC的结合

4.3 增加-RPATH-LINK

最终,你需求指定途径,使得链接器能够查找OpenCV所需的依靠联系(libs)。 转到SDS ++linker configuration,在“Miscellaneous” – 》“Linker Flag”下增加以下行(-Wl,-rpath-link = / opt / Xilinx / SDSoC / 2015.4 / SDK / 2015.4 / data / embeddedsw / ThirdParty / opencv /LIB)。 -Wl选项向东西链标明选项-rpath-link = 。。。将被提供给链接器。

Zybo Z7上OpenCV和SDSoC的结合

进行测验

到这儿,咱们就要进行本文中最令人兴奋的部分:测验! 以下代码将对一张图画进行FAST特征点检测:

Zybo Z7上OpenCV和SDSoC的结合

创立你的程序,完结之后将“sd_card”文件夹中的内容仿制到方针SD卡中,这儿不要忘记在根目录下增加一个测验图画(有爱好测验的朋友,能够点击阅览原文,获取本教程所运用的图画源文件)。

boot操作完结后,运用以下指令在方针上运转可履行文件:

cd /mnt

。/00_ocv_helloworld.elf Buildings.jpg ocv.jpg

假如一切顺利的话,则可履行文件会生成一个输出图画“ocv.jpg”,如下所示:

Zybo Z7上OpenCV和SDSoC的结合

总结

咱们将构建的库增加到SDSoC渠道中运用的Linux根文件体系中。然后,咱们根据这个新的SDSoC渠道装备了一个新的项目,其间包括正确的包括途径和链接。

到这儿,你就能够随意运用OpenCV啦!

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/340129.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部