完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
opencv libs库文件ipk编译 opencv ipk源码 利用openwrtpackage的编译机制仅仅需要一个Makefile即可编译opencv。 为何会如此简单神奇,下面就对Makefile详解(个人看法,欢迎指正): $vim Makefile include $(TOPDIR)/rules.mk PKG_NAME:=opencv # PKG_NAME -软件包的名字, 在 menuconfig 和 ipkg 显示 PKG_VERSION:=2.4.8 # PKG_VERSION -软件包的版本,主干分支的版本正是我们要下载的 PKG_RELEASE:=1 # PKG_RELEASE -这个 makefile 的版本 PKG_USE_MIPS16:=0 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip # PKG_SOURCE -要下载的软件包的名字,一般是由 PKG_NAME 和 PKG_VERSION 组成 PKG_SOURCE_URL:=http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.8/ # PKG_SOURCE_URL -下载这个软件包的链接 ,从网上得到的 PKG_MD5SUM:=50cc1433b3654074206f5b3dbfd49848 ################################################## # 软件包的 MD5 值,校验值,得到MD5的值的方法 #$ ./scripts/update-package-md5sum ....../opencv/ #PKG_CAT:= unzip #PKG_CAT -解压软件包的方法 (zcat, bzcat, unzip) ################################################## include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/cmake.mk define Package/opencv/Default/description the Open Source Computer Vision Library for linux endef define Package/opencv SECTION:=libs CATEGORY:=Libraries TITLE:= opencv-2.4.8 DEPENDS:=+libpthread +librt +libstdcpp +zlib +libjpeg endef ################################################## #SECTION - 软件包类型 #CATEGORY - menuconfig中软件包所属的一级目录,如 Libraries #SUBMENU - menuconfig中软件包所属的二级目录(没有用到) #TITLE - 软件包标题 #DESCRIPTION - 软件包的详细说明 #URL - 软件的原始位置,一般是软件作者的主页 #MAINTAINER - (optional) 软件包维护人员 #DEPENDS - (optional) 依赖项,运行本软件依赖的其他包 ################################################# PKG_INSTALL:=1 CMAKE_OPTIONS += -DWITH_LIBV4L:BOOL=OFF -DBUILD_opencv_ts:BOOL=OFF ################################################# #CMAKE_OPTIONS #例如不想编译libv4l库、ts等,就选择OFF。 ################################################# define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include $(CP) $(PKG_INSTALL_DIR)/usr/include/opencv $(1)/usr/include/ $(CP) $(PKG_INSTALL_DIR)/usr/include/opencv2 $(1)/usr/include/ $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libopencv* $(1)/usr/lib/ endef ################################################# # define Build/InstallDev #生成的头文件和库放到 #./staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include 和 ./staging_dir/target- mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib 下 #PKG_INSTALL_DIR ./trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/opencv-2.4.8/ipkg-install ################################################# define Package/opencv/install $(INSTALL_DIR) $(1)/usr/include $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/ $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libopencv* $(1)/usr/lib/ endef $(eval $(call BuildPackage,opencv)) ################################################# #这是最为关键的BuildPackage宏。它是在$(INCLUDE_DIR)/package.mk文件里定义的。BuildPackage宏只要求 一个参数,即要编译的软件包名,在本例中是"opencv"。所有其他信息都通过宏来获得,这提供了一种内在的简洁性。比如BuildPackage需要软件包的一大串描述信息,我们并不要向它传递冗长的参数,因为我们已经约定描述信息定义在DESCRIPTION宏,BuildPackage从里面读取 就可以了。 # Build/Compile (可选) # 编译源代码命令 # Package/install # 软件安装命令,主要是把相关文件拷贝到指定目录,如配置文件。 ################################################# opencv测试程序的编译 opencv-test ipk源码 下面我们利用opencv-test这个demo来测试opencvlibs。测试程序实现功能是从摄像头读取图片,保存在当前目录。由于存储空间受限,就存6张图片。 下面是生成opencv-test ipk包所需要的Makefile,其编译方法与其他任何ipk包的编译方法完全一样。 $vim Makefiel include $(TOPDIR)/rules.mk PKG_NAME:=opencv-test PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/package.mk define Package/opencv-test SECTION:=wrtnode CATEGORY:=WRTnode SUBMENU :=demos TITLE:=opencv demo app DEPENDS := +opencv endef ################################################# #DEPENDS := +opencv ,依赖opencv lib ################################################# define Package/opencv-test/description WRTnode test program for opencv lib endef define Build/Prepare mkdir -p $(PKG_BUILD_DIR) $(CP) ./src/* $(PKG_BUILD_DIR)/ endef define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" endef ################################################# #$(TARGET_CONFIGURE_OPTS) 、$(TARGET_CFLAGS)、 $(TARGET_LDFLAGS)等定义在rules.mk ################################################# define Package/opencv-test/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/cv_test $(1)/usr/bin/ endef ################################################# #cv_test 编译生成的可执行文件 ################################################# $(eval $(call BuildPackage,opencv-test)) 而opencv-test的源码和编译二进制代码的Makefile在src目录下,有兴趣的同学可以深入研究。 备注:opencv应用程序几乎可以认为是跨平台的,我们可以在x86的windows或Mac下面进行开发,将与图形窗口显示和键盘输入等OpenWrt不能支持的代码去掉以后,即可保证在WRTnode上顺利编译通过并执行。 |
|
相关推荐
2 个讨论
|
|
只有小组成员才能发言,加入小组>>
1076 浏览 0 评论
【KV260视觉入门套件试用体验】四、KV260 视觉入门套件和固件更新
1660 浏览 0 评论
【KV260视觉入门套件试用体验】Vitis AI Library体验之OCR识别
1242 浏览 0 评论
【KV260视觉入门套件试用体验】Vitis AI 通过迁移学习训练自定义模型
1769 浏览 0 评论
【KV260视觉入门套件试用体验】KV260系列之Petalinux镜像+Resnet 50探索
1407 浏览 0 评论
【AMD KV260视觉入门开发套件试用】4、简单几步体验ubuntu 20.04.3 LTS运行人员检测应用
1682浏览 1评论
3491浏览 1评论
【KV260视觉入门套件试用体验】老刘记事儿KV260初体验之Micro-SD选型提速研究(三)
921浏览 1评论
【KV260视觉入门套件试用体验】KV260部署yolov3实现车辆和行人检测
2617浏览 1评论
【KV260视觉入门套件试用体验】基于KV260的人脸识别的实现与展示
920浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-14 13:29 , Processed in 0.866902 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号