问题描述
没有直接从 github 上下载 darknet2ncnn 包,用的是他人提供的包,包已经编译好。解压已经有 convert_verify 文件。执行该文件,问题描述如下:
root@kaldidev:~/zhouyi/darknet2ncnn-master# chmod +x convert_verify
root@kaldidev:~/zhouyi/darknet2ncnn-master# ./convert_verify data/yolov3-tiny_finger.cfg data/yolov3-tiny_finger.weights example/zoo/yolov3-tiny_finger.param example/zoo/yolov3-tiny_finger.bin finger.jpg
./convert_verify: error while loading shared libraries: libopencv_core.so.2.4: cannot open shared object file: No such file or directory
可以看到,反馈是 libopencv_core.so 找不到。
问题原因
opencv 我是直接使用如下命令安装的。
sudo apt install libopencv-dev
具体安装过程可以参考这个文章,https://blog.csdn.net/justidle/article/details/104948080。这个 opencv 版本为 3.2。
提供包文件用使用的是 2.4 版本。
问题解决
确定 opencv 库文件路径
我是通过 find 来查的。
root@kaldidev:/# find -name libopencv_highgui*
./usr/lib/x86_64-linux-gnu/libopencv_highgui.a
./usr/lib/x86_64-linux-gnu/libopencv_highgui.so.3.2
./usr/lib/x86_64-linux-gnu/libopencv_highgui.so
./usr/lib/x86_64-linux-gnu/libopencv_highgui.so.3.2.0
可以发现我机器上 opencv 包所在路径为 ./usr/lib/x86_64-linux-gnu/。
设置 lib 文件路径
1、修改 /etc/ld.so.conf 文件,使用 sudo vi /etc/ld.so.conf,在该文件中增加路径 /usr/lib/x86_64-linux-gnu。如下图。
然后保存文件退出。
2、运行 sudo ldconfig,生效文件。
3、修改 /etc/bash.bashrc 文件,使用 sudo vi /etc/bash.bashrc,在最后一行增加如下图所示的命令。
然后保存文件退出。
4、运行 source /etc/bash.bashrc,使之生效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)