We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用ncnn识别图片不成功,返回结果如下: struct pres{ float x_y[4][2] ; // 四个顶点x,y坐标 float w; // 目标宽 float h; // 目标高 int vertex_id[4] = {0, 1, 2, 3}; // 四个顶点顺时针排序的索引 float s; // 目标得分 }; x_y内容为nan,s为-1
harmonyOS next,mate60手机
int ret = Net->load_param_mem(modelParamData.get());//加载param数据,结果返回为0 RawFile *modelBinFile = OH_ResourceManager_OpenRawFile(mgr, model_bin.c_str()); RawFileDescriptor descriptor; bool isSuccess = OH_ResourceManager_GetRawFileDescriptor(modelBinFile, descriptor); if (isSuccess) { FILE *fp = nullptr; fp = fdopen(descriptor.fd, "rw"); if (!fp) { OH_LOG_Print(LOG_APP, LOG_ERROR, GLOBAL_RES, TAG, "============================= fp filed"); } else { int ret = Net->load_model(fp);//加载model数据,结果返回为0 } } else { OH_LOG_Print(LOG_APP, LOG_ERROR, GLOBAL_RES, TAG, "============================= filed"); }
NativePixelMap *native = OH_PixelMap_InitNativePixelMap(env, args[0]); if (native == nullptr) { return error; } struct OhosPixelMapInfos pixelMapInfos; if (OH_PixelMap_GetImageInfo(native, &pixelMapInfos) != IMAGE_RESULT_SUCCESS) { OH_LOG_Print(LOG_APP, LOG_ERROR, 0xFF00, "Test", "hhhhh%{public}d", -1); return error; } void *pixel; OH_PixelMap_AccessPixels(native, &pixel); cv::Mat originMat(pixelMapInfos.height, pixelMapInfos.width, CV_8UC4, pixel); if (!originMat.data) { OH_LOG_Print(LOG_APP, LOG_ERROR, 0xFF00, TAG_P, "hhhhh%{public}d", -1); return error; } cvtColor(originMat, originMat, cv::COLOR_RGBA2RGB); cv::copyMakeBorder(originMat, first_pad_image, 0, pd_h, 0, pd_w, cv::BORDER_CONSTANT, 0); first_pad_height = (float)first_pad_image.rows, first_pad_width = (float)first_pad_image.cols; // 对图像进行缩放 cv:: Mat r_rgb; cv::resize(first_pad_image, r_rgb, cv::Size(img_size-2*pad_num, img_size-2*pad_num)); resize_height = (float)r_rgb.rows, resize_width = (float)r_rgb.cols; // dsnt对边缘点效果不好,补0防止关键点处于边缘 cv::copyMakeBorder(r_rgb, second_pad_image, pad_num, pad_num, pad_num, pad_num, cv::BORDER_CONSTANT, 0);
ncnn::Mat in = ncnn::Mat::from_pixels(second_pad_image.data, ncnn::Mat::PIXEL_RGB, second_pad_image.cols, second_pad_image.rows); in.substract_mean_normalize(_mean_val, norm_val); ncnn::Extractor ex = Net->create_extractor(); // nncn推理结果 ex.input("input:0", in); ncnn::Mat out; ex.extract("heats_map_regression/pred_keypoints/BiasAdd:0", out); for (int q=0; q<out.c; q++) { const float* ptr = out.channel(q); for (int y=0; y<out.h; y++) { for (int x=0; x<out.w; x++) { OH_LOG_Print(LOG_APP, LOG_ERROR, GLOBAL_RES, TAG, "%{public}f ", ptr[x]); } ptr += out.w; OH_LOG_Print(LOG_APP, LOG_ERROR, GLOBAL_RES, TAG, "\n"); } OH_LOG_Print(LOG_APP, LOG_ERROR, GLOBAL_RES, TAG, "--------------------------------------\n"); }
log日志打印的值为nan
The text was updated successfully, but these errors were encountered:
No branches or pull requests
报错信息
使用ncnn识别图片不成功,返回结果如下:
struct pres{
float x_y[4][2] ; // 四个顶点x,y坐标
float w; // 目标宽
float h; // 目标高
int vertex_id[4] = {0, 1, 2, 3}; // 四个顶点顺时针排序的索引
float s; // 目标得分
};
x_y内容为nan,s为-1
运行环境
harmonyOS next,mate60手机
复现步骤
1.加载AI数据模型
2.opencv预处理图片
3.调用ncnn::Mat::from_pixels处理图片数据
log日志打印的值为nan
The text was updated successfully, but these errors were encountered: