美文网首页
iOS集成Tencent / ncnn 的 Demo项目YOLO

iOS集成Tencent / ncnn 的 Demo项目YOLO

作者: 林神_iOS | 来源:发表于2024-02-27 11:55 被阅读0次

    报错一:No Account for Team "xxx"

    解决方案这里不做多解答,很简单,修改证书,Bundle Identified 随便修改个,可以跑真机即可!!!

    报错二:iOS_YOLOv5NCNN/YOLOv5NCNN/res/yolov5s_customlayer.param: No such file or directory

    这个作者有做说明:从 "android_YOLOV5_NCNN\app\src\main\assets" 复制 .param 和 .bin 文件到 "iOS_YOLOv5NCNN\YOLOv5NCNN\res" 下!

    这里需要注意的点:将"android_YOLOV5_NCNN\app\src\main\assets"目录下的所有文件都拷贝过去,包括里面有个二级目录“ocr/”,也需要拷过去!重复文件直接跳过或者替换即可!!!

    报错三:'opencv2/dnn.hpp' file not found

    很明显这里是红色的,说明Demo里面没有该资源,下载最新的opencv2和NCNN,替换这几个库!!!

    opencv2路径下载路径

    Tencent/ncnn下载路径 - 去Assets下对应的资源!!!

    替换后的结果:

    这里需要注意的点:glslang.framework 这个文件最新的ncnn里已经没有,所以项目里需要去掉,如果不去掉会有报错,此处直接一起做答!!!

    报错四:'ncnn/ncnn/net.h' file not found

    该报错原作者的解决方案是去下载老的NCNN,这就没办法使用最新的代码库,先看作者提供的解决方案:

    这里不做过多讨论!!! 

    合适的解决方案:

    将#include "ncnn/ncnn/net.h" 替换成 #import "ncnn.framework/Versions/A/Headers/ncnn/net.h" 和 #import <ncnn/ncnn/net.h> 这种两种方式,去查看本地文件可以看到:

    该文件还在,只不过是路径变了,调整一下引用方式即可!!! 

    如果报错没有立马消失,进行 clean 一下!!!

    报错五: blenders > Expected identifier ,  exposure_compensate > Expected identifier


    看描述:warning Detected Apple ‘NO’ macro definition, it can cause build conflicts. Please, include this header before any Apple headers.

    字面意思是让我们在引用这个头文件的时候应该放在所有Apple头文件之前 !!!

    生产一个.pch文件:

    注意配置路径!!!

    然后输入代码:

    #ifdef __cplusplus

    #import <opencv2/opencv.hpp>

    #import <opencv2/imgproc/types_c.h>

    #import <opencv2/core.hpp>

    #import <opencv2/features2d.hpp>

    #import <opencv2/calib3d.hpp>

    #import <opencv2/objdetect.hpp>

    #import <opencv2/highgui.hpp>

    #import <opencv2/imgproc.hpp>

    #import <opencv2/objdetect/objdetect.hpp>

    #endif

    大功告成!!!

    最后:

    相关文章

      网友评论

          本文标题:iOS集成Tencent / ncnn 的 Demo项目YOLO

          本文链接:https://www.haomeiwen.com/subject/hmptzdtx.html