YOLO函数
说明
- YOLO使用说明 请看安卓版本的,训练教程都是一样
yolov8Api.newYolov8 初始化yolov8实例
- 初始化yolov8实例
- 适配EC 7.8.0+
- @return
Yolov8Util对象
function main() {
yolov8Api.releaseAll()
// 初始化YOLO实例
let yolov8s = yolov8Api.newYolov8();
// 初始化配置选项
let config = yolov8s.getDefaultConfig("yolov8s-640", 640, 0.25, 0.35, "ALL", 0, [
"aixin",
"pinglun"
])
// 设置占用CPU线程数量,越小 占用CPU越少,不设置默认是4,建议设置为1或者2
config["num_thread"] = 1;
logd("config : " + JSON.stringify(config))
// 初始化 训练过的模型
let paramPath = "c:/model.ncnn.param";
let binPath = "c:/model.ncnn.bin";
let inted = yolov8s.initYoloModel(config, paramPath, binPath);
if (inted) {
logd("初始化yolov8s成功");
} else {
logd("初始化yolov8s失败: " + yolov8s.getErrorMsg());
return;
}
let bitmap = image.readBitmap("c:/a.png");
let result = yolov8s.detectBitmap(bitmap, []);
// 或者用
let img = image.readImage("c:/a.png")
let result2 = yolov8s.detectImage("c:/a.png", [])
image.recycle(img);
// 这个带参数的代表只过滤pinglun的分类数据
//let result = yolov8s.detectBitmap(bitmap, ["pinglun"]);
if (result == null || result == "") {
logd("yolov8s 无结果: " + yolov8s.getErrorMsg());
} else {
logd("yolov8s 结果: " + result);
}
// 在需要的时候释放,不要用一次释放一次
yolov8s.release();
}
main();
yolov8Api.releaseAll 释放所有yolov8实例
- 释放所有yolov8实例
- 适配EC 9.0.0+
// 请看代码例子
yolov8Api.newYolov8Onxx 初始化yolov8 onnx 实例,支持多实例
- 初始化yolov8 onnx 实例
- 适配EC 8.3.0+
- @return
Yolov8Util实例对象
function main() {
// 初始化YOLO实例
yolov8Api.releaseAll()
let yolov8s = yolov8Api.newYolov8Onxx();
// 初始化配置选项
let config = yolov8s.getOnnxConfig([
"aixin",
"pinglun"
], 640,640, 0.35, 0.55, 2 )
logd("config : " + JSON.stringify(config))
// 初始化 训练过的模型
let paramPath = "c:/best.onnx";
let inted = yolov8s.initYoloModel(config, paramPath, "");
if (inted) {
logd("初始化yolov8s成功");
} else {
logd("初始化yolov8s失败: " + yolov8s.getErrorMsg());
return;
}
// 截图 img 格式
let img = image.captureFullScreen()
// 读取本地图片
// let bitmap = image.readBitmap("/sdcard/a.png");
let result = yolov8s.detectImage(img, []);
// 这个带参数的代表只过滤pinglun的分类数据
//let result = yolov8s.detectBitmap(bitmap, ["pinglun"]);
if (result == null || result == "") {
logd("yolov8s 无结果: " + yolov8s.getErrorMsg());
} else {
logd("yolov8s 结果: " + result);
}
if (img != null) {
// 回收图片
img.recycle();
}
// 在需要的时候释放,不要用一次释放一次
yolov8s.release();
}
main();