WRTnode怎么添加OpenCV支持
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,WRTnode怎么添加OpenCV支持,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。opencv libs库文件ipk编译openc
千家信息网最后更新 2026年11月03日WRTnode怎么添加OpenCV支持
WRTnode怎么添加OpenCV支持,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
opencv libs库文件ipk编译
opencv ipk源码
利用openwrt package的编译机制仅仅需要一个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来测试opencv libs。测试程序实现功能是从摄像头读取图片,保存在当前目录。由于存储空间受限,就存6张图片。 下面是生成opencv-test ipk包所需要的Makefile,其编译方法与其他任何ipk包的编译方法完全一样。
$vim Makefielinclude $(TOPDIR)/rules.mkPKG_NAME:=opencv-testPKG_RELEASE:=1PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-installinclude $(INCLUDE_DIR)/kernel.mkinclude $(INCLUDE_DIR)/package.mkdefine Package/opencv-test SECTION:=wrtnode CATEGORY:=WRTnode SUBMENU :=demos TITLE:=opencv demo app DEPENDS := +opencvendef##################################################DEPENDS := +opencv ,依赖opencv lib#################################################define Package/opencv-test/description WRTnode test program for opencv libendefdefine Build/Prepare mkdir -p $(PKG_BUILD_DIR) $(CP) ./src/* $(PKG_BUILD_DIR)/endefdefine 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上顺利编译通过并执行。
关于WRTnode怎么添加OpenCV支持问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
软件
软件包
编译
文件
方法
目录
支持
信息
源码
版本
程序
问题
测试
生成
代码
参数
名字
命令
图片
所属
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
为想互联网科技怎么样
互联网的科技
科技股互联网
互联网科技金融公司
平安科技 互联网
嘟嘟瓜互联网科技
壕鑫互联网络科技
海南科技产业互联网平台
江苏南京365互联网科技
以后互联网后是啥科技
金融科技与互联网金融相同和不同
成都互联网科技公司工作好不好
996高科技互联网公司
互联网时代的科技公司
元气玛特互联网科技公司是外包吗
广州千川互联网科技有限公司
美国互联网科技公司
广东鹅鹅鹅互联网科技有限公司
福州德业互联网科技
现代互联网科技公司
互联网科技股
百单网互联网科技有限公司怎么样
科技与互联网
宁波青枫互联网科技有限公司
常德市电业局互联网科技部
互联网科技产业特征
科技大学互联网
智帮互联网科技公司最近动向
互联网科技平台产品运营
广西科技产业互联网是什么