参照大佬的做法
一步一步往下做,但是!
https://www.jianshu.com/p/88882a3ccc8a
再次做一些心得和补充,希望看到这篇的各位,能够先理清接下来的思路再按照上面的传送门做。
1、在树莓派4B+上编译openCV时,出现如下错误:
fatal error: boostdesc_bgm.i: 没有那个文件或目录
#include “boostdesc_bgm.i”
有些源码可能会漏掉一些文件,所以要事先下载好,这些文件填补进去。
解决步骤:把下列压缩包解压到目录opencv_contrib/modules/xfeatures2d/src/下即可。
下载链接来自大佬:https://www.cnblogs.com/zhang-hongbo/p/12859405.html
2、下载了缺失的文件之后,接下来的问题是文件路径的问题。
因为有很多文件路径,在解析的时候会找不到,然后报错。
解决步骤:通过报错信息找到报错文件的具体位置(可以复制路径直接搜索),
然后在openvc的源码目录内大范围查找缺失的文件,比如fatal error: /opencv2/xfeatures2d.hpp: No such file or directory。直接查找xfeatures2d.hpp。找到文件后,右键复制文件路径(绝对路径)。粘贴到报错的位置,替换错误的解析路径。
没看懂可以传送:https://blog.csdn.net/baobei0112/article/details/104677721
3、最后一个是python3中树莓派openvc的一个小bug(很致命,哭!!!)
解决步骤:cv2.cpp文件的885行左右的一段代码,在char*的赋值时,要进行强制转换(char*)。
大佬传送门:https://blog.csdn.net/qq_44357371/article/details/105966714
4、在编译文件的时候,不一定每次报错都要make clean->make。
报错,修复之后,可以直接make。内部会自动标记已经编译好的文件。
如果效果不理想,最后再选择make clean->make。因为make clean之后重新编译需要大量的时间。