yolo11安卓端检测,网上例程多是摄像头视频检测对象,单张图片的较少,好不容易找到一个图片检测的,但其param文件中out是三输出,即out0,out1,out2,而网上大多是out0输出。
参考该大佬的源码,引入其一个功能库,但输出仍为一个out0,没有其示例中的三输出。
比较其源码与其他示例代码,功能函数大多相仿,增加了一个函数
cv::Mat bitmapToMat(JNIEnv *env, jobject bitmap) {
AndroidBitmapInfo info;
AndroidBitmap_getInfo(env, bitmap, &info);
void *pixels = nullptr;
AndroidBitmap_lockPixels(env, bitmap, &pixels);
cv::Mat mat(info.height, info.width, CV_8UC4, pixels);
cv::cvtColor(mat, mat, cv::COLOR_RGBA2BGR);
AndroidBitmap_unlockPixels(env, bitmap);
return mat.clone();
}
generate_proposals( )函数也稍有差异,将其更新后,APP安装后直接出错退出,查看logcat
ParamDict load_param 115 Tensor.reshape_4 failed
显示在调入模型参数词典时出错,但在视频检测APP中无此错误,且还未涉及模型,想起两者区别无非就是ncnn-android-vulkan和opencv-mobile-android版本不同,升级为同样版本,运行测试通过。