zoukankan      html  css  js  c++  java
  • RKmedia教学(zbar 二维码识别)

    • 介绍

    要想更好的使用 1126/1109 的硬件资源就必须掌握一套媒体框架。此贴会已一个智慧金融的应用场景,介绍一下 RKmedia 的,VI 、VO、RGA 模块以及 zbar 的使用。应用功能:通过 RGB 摄像头识别二维码。

    • 代码

    gitlab 仓库地址: https://gitlab.com/firefly-linux/app/firefly_rkmedia_demo

    源码文件:firefly_rkmedia_demo/rkmedia_vi_zbar_test.c

    • 编译

    1. 由于官方使用的是 buildroot 系统,所以你需要先编译一遍官方的 SDK,来构建依赖环境。下面是编译官方 SDK 的 WIKI 链接。https://wiki.t-firefly.com/zh_CN/CAM-C11262U/Source_code.html,注意,编译之前你需要打开 buildroot 的 zbar 支持,否则后续无法编译通过。需要找到自己的使用的 config 文件并且修改。

    diff --git a/configs/firefly_rv1126_rv1109_uvcc_defconfig b/configs/firefly_rv1126_rv1109_uvcc_defconfig
    index cbf9af861e..8cfb2980dc 100644
    --- a/configs/firefly_rv1126_rv1109_uvcc_defconfig
    +++ b/configs/firefly_rv1126_rv1109_uvcc_defconfig
    @@ -124,3 +124,4 @@ BR2_PACKAGE_RKNPU_USE_RKNN_API=y
    BR2_PACKAGE_RKNPU_USE_MINI_DRIVER=n
    
    BR2_PACKAGE_ARCUVC=y
    +BR2_PACKAGE_ZBAR=y
    

    2. 编译完成后你会在 buildroot 仓库下找到文件系统编译依赖环境

     sdk/buildroot/output/firefly_rv1126_rv1109_facial_gate/host/arm-buildroot-linux-gnueabihf/sysroot/

    3. 把 SDK 的绝对路径和依赖环境的相对路径填入 RKmedia 二维码识别仓库的 build.sh 文件中

    # SDK 目录                                                                                                                                                                                                           
    SDK_PATH="/home/daijh/daijhfs/daijh/p/rk-rv1109/gitlab_merge/"     
       
    # 编译完 buildroot 后的 sysroot 目录     
    sysroot="$SDK_PATH/buildroot/output/firefly_rv1126_rv1109_facial_gate/host/arm-buildroot-linux-gnueabihf/sysroot/"
    

    4. 执行脚本编译,生成可执行文件 rkmedia_vi_zbar_test 

    ./build.sh rkmedia_vi_zbar_test.c
    

    5. 设备升级你刚刚编译出来的固件,升级方法 WIKI 链接 https://wiki.t-firefly.com/zh_CN/CAM-C11262U/upgrade.html,然后把 rkmedia_vi_zbar_test 通过 adb push 到设备中,就可以运行了

    adb push rkmedia_vi_zbar_test /
    

      

    • 效果

    可以安装一个浏览器域名二维码生成插件,到任意网站生成二维码传到手机中。运行程序

    ./rkmedia_vi_zbar_test -a /oem/etc/iqfiles
    

      

    然后把二维码放到摄像头前,打印信息就会识别出网站域名。

    • 源码分析

    我会在源码上更新注释,也可以查看 WIKI RKmedia 讲解。https://wiki.t-firefly.com/zh_CN/CAM-C11262U/Rkmedia.html 。

  • 相关阅读:
    实现跨域的几种方法
    2015-07-15
    unity3d中给GameObject绑定脚本的代码
    unity3d的碰撞检测及trigger
    区块链 (未完)
    mono部分源码解析
    量化策略分析的研究内容
    mono搭建脚本整理
    unity3d简介
    Hook技术之API拦截(API Hook)
  • 原文地址:https://www.cnblogs.com/TeeFirefly/p/15001203.html
Copyright © 2011-2022 走看看