【ZYNQ_LINUX】zynq 上移植 opencv 代码

通过查找资料和网上的博客,zynq 上移植opencv 代码,可能需要以下几步,通常要先有 opencv代码,然后再有交叉编译出结果,但是这里会使用到一些opencv 的库,所以在zed 板上跑的时候首先要有opencv 的库镜像文件,然后挂载起来,然后才能真正的开始opencv 的测试。

我遇到的问题可能是由于整个过程中有不当之处导致的,和大家都不太一样。

首先查看以下开机以后 /usr/lib 的内容


一旦我们将 opencv_lib_img 挂载到 sd 卡的时候,

 mount /mnt/opencv_lib.img /usr

查看 /usr 和 lib 的内容:


执行命令  ./edge_detection.o ./lena.jpg ./lena_edge.jpg


./edge_detection.o: error while loading shared libraries: libstd
c++.so.6: cannot open shared object file: No such file or directory 

发现出错原因是有 没有 libstdc++.so.6,但是在没有挂opencv_lib_img 的时候它是存在的,只是现在被覆盖了

挂载到 /usr/lib 文件夹下

mount /mnt/opencv_lib.img /usr/lib


执行命令仍旧出错为 

zynq> ./edge_detection.o ./lena.jpg ./lena_edge.jpgrandom: nonblocking pool is initialized
Inconsistency detected by ld.so: dl-deps.c: 622: _dl_map_object_deps: Assertion `nlist > 1' failed!

参考的博客挂载之后

注意 uramdisk 的文件系统实际只有8M ,而opencv_lib.img 有80多M 


上面的问题描述的比较乱,但是主要的原因就是在 1 在opencv_img.lib 挂载位置和内容 2 是运行代码的命令

1 针对opencv_img.lib 挂载位置放在 /usr 文件夹下,使其opencv 的库文件在 /usr/lib 文件夹中

 mount opencv_img.lib /usr

http://www.eefocus.com/Moonwolf/blog/13-07/295984_84f9d.html

http://blog.csdn.net/dumeifang/article/details/2963223

http://www.aiuxian.com/article/p-310498.html

针对缺少 libstdc++.so.6 的问题,参考博客有三种解决方法,1 将 libstdc++.so.6 复制过去 2 建立软链接 3 重新制作 opencv_img.lib,制作过程中将 libstdc++.so.6 压缩进镜像文件,我用的第一种方法试是可以的。

2 测试 使用 ./edge_detection.o ./lena.bmp ./lena_edge.bmp 命令无反应,使用命令 ./edge_detection.o lena.bmp out.bmp 出结果。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值