admin 管理员组文章数量: 888334
基于Petalinux19.1的OpenCV APP搭建
一、前言
想在Xilinx ZCU102平台上运行Linux系统,并实现简单OpenCV App的运行,采用Petalinux19.1进行工程搭建。
二、OpenCV App搭建
1.准备Petalinux工程
1)新建Petalinux工程:
>petalinux-create --type project --template zynqMP --name opencvtest
2)指定HDF文件:
>petalinux-config --get-hw-description=hdf_file/
3)使能OpenCV、X11的Package:
>petalinux-config -c rootfs
使能
使能
4)Build工程,封装得到BOOT.BIN和image.ub
>petalinux-build
>petalinux-package --boot --fsbl images/linux/zynqmp_fsbl.elf --fpga images/linux/system.bit --u-boot images/linux/u-boot.elf --force
把BOOT.BIN和image.ub考入SD卡,ZCU102平台可运行Linux;
2.新建OpenCV App
>petalinux--create -t apps --template c++ --name opencvapp --enable
>cd xxx/project-spec/meta-user/recipes-apps/opencvapp/files
1)opencvapp.cpp
#include <stdio.h>
#include <opencv2/highgui/highgui.hpp>using namespace cv;
using namespace std;int main(int argc, char** argv){Mat img;img = imread(argv[1],1);if((argc != 2) || (!img.data)){printf("Usage: XX yy.jpg\n");return -1;}imshow("imshooow",img);waitKey(0);return 0;}
2)CMakeLists.txt
# cmake needs this line
cmake_minimum_required(VERSION 2.8)add_definitions(-std=c++11 -Werror=return-type)# Define project name
project(opencvapp)# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)if(CMAKE_VERSION VERSION_LESS "2.8.11")# Add OpenCV headers location to your include pathsinclude_directories(${OpenCV_INCLUDE_DIRS})
endif()set(SRC_LIST opencvapp.cpp )
# Declare the executable target built from your sources
add_executable(opencvapp ${SRC_LIST})# Link your application with OpenCV libraries
target_link_libraries(opencvapp ${OpenCV_LIBS})
3)Makefile
APP = opencvapp# Add any other object files to this list below
APP_OBJS = opencvapp.oall: build
build: $(APP)CXXFLAGS += $(shell pkg-config --cflags opencv)
LDFLAGS += $(shell pkg-config --libs opencv)$(APP): $(APP_OBJS)$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(APP_OBJS) $(LDLIBS)clean:rm -f $(APP) *.elf *.gdb *.o
4) opencvapp.bb
#
# This file is the opencvapp recipe.
#SUMMARY = "Simple opencvapp application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"SRC_URI = "file://opencvapp.cpp \file://CMakeLists.txt \"S = "${WORKDIR}"DEPENDS += "opencv"
inherit pkgconfig cmakedo_install() {install -d ${D}${bindir}install -m 0755 opencvapp ${D}${bindir}
}
3. 编译App
直接编译app:
>petalinux-build -c opencvapp
编译完成后,找到xxxxx/tmp/opencvtest-2019.12.xx/deploy/rpm/aarch64/opencvapp-1.0-r0.aarch64.rpm文件,
将其在windows下解压,再解压,可得到:
/usr/bin/opencvapp
4. 运行
将opencvapp和test.jpg经SSH传入已运行的ZCU102平台中,
>chmod 777 opencvapp test.jpg
配置SSH显示到本地:export DISPLAY=192.168.0.xx:0.0,然后运行
>./opencvapp test.jpg
可(经SSH)显示出图片。
本文标签: 基于Petalinux191的OpenCV APP搭建
版权声明:本文标题:基于Petalinux19.1的OpenCV APP搭建 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1699080038h326909.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论