更新记录

0.0.4(2022-01-01)

1.本地识别物体,返回该物体名称以及所在屏幕坐标

2.目前仅支持安卓


平台兼容性

Android Android CPU类型 iOS
适用版本区间:10.0 - 11.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


1.本地识别物体,返回该物体名称以及所在屏幕坐标

2.目前仅支持安卓

3.写法: 首先调用方法

<template>
    <view>
    <button type="primary" @click="selectanddetect">选择图片并识别</button>    
    </view>
</template>

其次引入插件,并写方法

    var testModule2 = uni.requireNativePlugin("qqq-yolo5")
    export default {
        data() {
            return {

            }
        },
        methods: {
            selectanddetect(){
                uni.chooseImage({
                    count: 1, //单张识别
                    sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
                    sourceType: ['album'], //从相册选择
                    success: function (res) {
                        console.log(JSON.stringify(res.tempFilePaths))
                        /*uni.showToast({
                            title:JSON.stringify(res.tempFilePaths),
                            duration: 1000
                        });*/
                        /*testModule2.testAsyncFunc({
                                'name': 'unimp',
                                'age': 1
                            },
                            (ret) => {
                                uni.showToast({
                                    title: ret,
                                    duration: 5000
                                });
                            })*/
                        uni.showLoading({
                                            title: '加载中'
                                        });
                        var ret = testModule2.detect({//检测识别就这一句
                            "file":res.tempFilePaths,
                            "NMS":0.7,
                            "Threshold":0.3
                            })
                        //ret = eval("("+ret+")");
                        var result = "";
                        uni.showModal({
                            content: JSON.stringify(ret)
                        })
                        uni.showModal({
                            content: "物体个数:"+ret.size
                        })
                        var j = 0;
                        uni.showModal({
                            content: "解析测试:"+JSON.stringify(ret[0].content)
                        })
                        for (var i=0; i<parseInt(ret.size);i++){

                            result = result+ret[i].content;//物体名称
                            result = result + "上"+ret[i].top;//顶部坐标
                            result = result + "下"+ret[i].bottom;//底部坐标
                            result = result + "左"+ret[i].left;//左边坐标
                            result = result + "右"+ret[i].right;//右边坐标
                            result = result + "相似度"+ret[i].score;//相似度0-1之间
                        }
                        uni.showModal({
                            content:"识别到的物体:"+result
                        });
                        uni.hideLoading();
                    }

                });

            }
        }
    }

4.预祝各位心想事成~

隐私、权限声明

1. 本插件需要申请的系统权限列表:

"<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>", "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>"

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问