zedboard中使用opencv对视频进行处理

这个过程非常坎坷

之前在PC上面编写好了opencv处理视频的程序,准备移植到zedboard上面

可是出现了一个看上去很简单的错误:视频文件无法打开

刚开始的想法是移植一个视频库就好了

于是开始上网找资料

其中查到了“习之北”的一篇博客,引用了一篇英文的blog,那篇blog讲的是在linux下移植opencv,对视频进行处理。

当时没细想,只是感觉看上去挺靠谱的,就开始一步一步走了下来

可是没有注意到他即使是在linux环境下移植,但依然是x86的平台,而我的目标平台是ARM

所以不光浪费了一天的时间,而且把自己电脑的编译链给弄得乱七八糟

到最后只好系统全部重装


然后参考教程

http://xilinx.eetrend.com/blog/4491

全部重新配置,所有库的版本和步骤、甚至文件路径都严格按照文章里面要求的来,终于把opencv编译通过了

编译通过之后就是制作opencv镜像

具体过程(可以参考我的另外一篇blog)是
(制作之前先把libstdc++.so.6和libz.so.6放进去)
cd ${opencv的lib}
dd if=/dev/zero of=opencv_lib.img bs=1M count=15
mkfs.ext2 -F opencv_lib.img
tune2fs opencv_lib.img -i 0 #取消磁盘自检
chmod go+w opencv_lib.img
mount opencv_lib.img -o loop /mnt #得到的空镜像挂载到/mnt(先确定/mnt下没有别的文件!!)
cp -rf ${opencv的lib} /mnt
  如cp -rf /home/zed/opencv/opencv-2.4.8/install/lib /mnt
chmod go-w opencv_lib.img
umount /mnt

制作好镜像之后开始对程序进行交叉编译

我之前的编译指令是arm-xilinx-linux-gnueabi-g++ -I/home/zed/opencv/opencv-2.4.8/install/include/opencv -I/home/zed/opencv/opencv-2.4.8/install/include/opencv2 -I/home/zed/opencv/opencv-2.4.8/install/include -L/home/zed/opencv/opencv-2.4.8/install/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann  -lopencv_gpu -lopencv_nonfree -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_videostab -lstdc++ -fpermissive -o video ./kaopu.c


但是现在添加了其他的库以后系统开始报错

提示找不到zlib这个库,打开文件夹查看,非常确定zlib在它应该在的地方,那是什么原因呢?

原来是我之前没有指定把zlib包含进去,所以要修改一下交叉编译的指令

arm-xilinx-linux-gnueabi-g++ -I/home/zed/opencv/opencv-2.4.8/install/include/opencv -I/home/zed/opencv/opencv-2.4.8/install/include/opencv2 -I/home/zed/opencv/opencv-2.4.8/install/include -L/home/zed/opencv/opencv-2.4.8/install/lib -lz -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann  -lopencv_gpu -lopencv_nonfree -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_videostab -lstdc++ -fpermissive -o video ./kaopu.c

如果还是提示找不到jpeg之类的库,按照同样的方法添加到编译指令里面就好了


但是问题是编译出来的程序还是打不开视频。。。

希望今天能解决吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值