OpenCV在Zedboard上的移植

OpenCV编译

本文的前提是zynq交叉编译环境设置

  • 下载opencv3.1.0源码,并解压
wget https://github.com/Itseez/opencv/archive/3.1.0.zip
  • 在解压后的目录下新建两个目录:install,build,并新建toolchain.cmake文件,添加如下内容
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER arm-xilinx-linux-gnueabi-gcc)
set(CMAKE_CXX_COMPILER arm-xilinx-linux-gnueabi-g++)
  • 进入bulid目录进行命令配置,关联toolchain.cmake文件并配置移植OpenCV的安装目录:
cmake -D CMAKE_TOOLCHAIN_FILE=toolchain.cmake -D CMAKE_INSTALL_PREFIX=/home/ubuntu/opencv-2.3.1/install ../

  注意此处应该更换为自己的实际目录名称。

  • 生成Makefile文件

  执行ccmake ./进行OpenCV配置,将所有WITH开头的选项选成OFF(除了WITH_V4L为ON);按c键进行配置,g键产生Makefile

  • 编译安装

  通过make编译,make install进行安装;安装结束后Zedboard上的OpenCV库已经生成,在install文件夹下。 

OpenCV库移植

依次执行下面的命令,可以在指定的目录下生成opencv_lib.img镜像文件,该文件可以在Zedboard上加载使用 

cd /home/ubuntu/opencv_zynq/
// 生成镜像的目录
dd if=/dev/zero of=opencv_lib.img bs=1M count=80
// 镜像的名字opencv_lib.img和大小80M,可以根据实际链接库的大小进行设置
mkfs.ext2 -F opencv_lib.img
chmod go+w opencv_lib.img
mount opencv_lib.img -o loop /mnt
cp /home/ubuntu/opencv3.1.0/install/* /mnt
// 复制相应的库的即将压缩的镜像中
chmod go-w opencv_lib.img
umount /mnt 

移植测试

测试代码,imgshow.cpp:

#include <iostream>   
#include <opencv2/core/core.hpp>   
#include <opencv2/highgui/highgui.hpp>   
 
using namespace cv; 
 
int main() 
{       
  Mat img = imread("test.jpg"); 
    // 创建一个名为 "Pic"窗口     
    namedWindow("Pic"); 
    // 在窗口中显示图片     
    imshow("Pic", img); 
    // 等待6000 ms后窗口自动关闭     
    waitKey(6000); 
} 

makefile:

LINK_C = imgshow.cpp 
LINK_H = -I /opt/opencv-3.1/include/opencv -I /opt/opencv-3.1/include -I /opt/opencv-3.1/include/opencv2
LINK_LIB = -L /opt/opencv-3.1/lib

target:
    arm-xilinx-linux-gnueabi-g++ -O2 -I./ -o imgshow_arm  $(LINK_C) -Wall -lm -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs  $(LINK_H) $(LINK_LIB)
    #finished make imgshow_arm

编译后生成imgshow_arm.o

将OpenCV库文件opencv_lib.img、可执行文件edge_detection.o和原图像放入U盘中,启动Zedboard,挂载U盘: 

mount /dev/sda1 /mnt

将镜像文件opencv_lib.img挂载到/usr/lib文件夹中:

cd /usr
mkdir lib
mount /mnt/opencv_lib.img /usr/lib

运行可执行文件./imgshow_arm.o

 

opencv3.1.0_arm下载

opencv_lib.img镜像文件

转载于:https://www.cnblogs.com/xiaojianliu/p/9151217.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值