开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

Logo识别

Logo 识别

Logo识别是SDK2.2新增能力,目前支持2万类商标logo的识别,可通过配置特定的logo,扫描识别后识别AR特效内容,仅空间识别IMU场景可用。

Sample case :代码下载

logo识别

API接口

开启logo识别接口:Logo.start_recg(0)

关闭logo识别接口:Logo.stop_recg(0)

logo识别状态回调:logo_callBack(string logo_status)

接口详解

能力使用

一、在ar场景包中加入Logo.json文件,内容如下方示例:

{
  "logo" : {
  "baidu" : [
     "百度"
   ],
  "icon_list" : [
    "icon3.png"
  ]
 }
}
  • "logo"中的字段意思为当识别到“百度”的中文字样后将baidu这几个字符发送到Lua,Lua可以取出这些字符做逻辑处理。

例如:

     Logo.callBack = function(data)
        --logo识别回调
        local str = data['logo_result']
        matchResult(str)

    end

    function matchResult(str)
        if( str == 'baidu')then
           scene.bear_ydh:set_visible(true)
           scene.bear_ydh:pod_anim()
                        :anim_repeat(true)
                        :start()
            --关闭logo识别
            Logo.stop_recg(0)
        end
    end

在场景交互脚本里,从callback回调返回的data里取出logo_resulet,即上方在json里定义好的'baidu',然后在matchResult方法里判断识别到该字符串后播放模型动画。

  • icon_list中存放的是所有需要识别的Logo图,目前支持的Logo图库大概有2万类,支持各类型商标Logo扫描。

待识别的Logo的图片相应放在res资源目录下logo文件夹中,如下图所示:

icon

二、在Lua里开启/关闭logo识别

开启logo识别接口:Logo.start_recg(0)

关闭logo识别接口:Logo.stop_recg(0)

参数0为预留字段,传入任何值都暂无实际意义。

 --示例代码
 app.on_loading_finish = function()
    app.device:open_imu(1)
    Logo.start_recg(2)
 end

在进入case时开启imu,并打开logo识别。

三、Lua里获取logo识别状态及结果

--示例代码

Logo.callBack = function(data)
local logo_status = data['logo_code']
if(logo_status ~= nil) then
    if(logo_status == MSG_TYPE_LOGO_START) then

    end
    if(logo_status == MSG_TYPE_LOGO_HIT)then
        local str = data['logo_result']
        matchResult(str);
        scene.kuang:set_visible(false)    
        scene.icon:set_visible(false)
        scene.text:set_visible(false)
    end
    if(logo_status == MSG_TYPE_LOGO_STOP)then
        
    end
end

data中包含两个字段logo_code(当前logo识别状态)及logo_result(当前logo识别结果),logo_status包含MSG_TYPE_LOGO_START(开始识别),MSG_TYPE_LOGO_HIT(识别命中)及MSG_TYPE_LOGO_STOP(停止识别),logo_result为Json中定义好的字符串。

示例中的效果为当识别到logo后,将提示扫描图片节点隐藏。

注意

  • Logo识别对功耗的影响比较大,最好不要同时定义扫描多张图片。
  • 百度App中暂未集成该能力,open SDK 2.2及以上版本可使用该能力。
上一篇
手势识别
下一篇
在线视频(音频)播放