ubuntu+dlib运行缺少'image_window'的解决方法(附dlib安装流程)

Gamila ·
更新时间:2024-11-10
· 914 次阅读

一、环境配置:

Ubuntu 18.04 + Pycharm-community + Anaconda 3 + Python 3.7 + dlib 19.19

二、错误详情: Traceback (most recent call last): File "", line 1, in File "/home/#用户名已屏蔽#/软件/pycharm-community-2019.3.3/plugins/python-ce/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile pydev_imports.execfile(filename, global_vars, local_vars) # execute the script File "/home/#用户名已屏蔽#/软件/pycharm-community-2019.3.3/plugins/python-ce/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile exec(compile(contents+"\n", file, 'exec'), glob, loc) File "/home/#用户名已屏蔽#/pycharm project/PalmRecognition/test_detector.py", line 30, in win_det = dlib.image_window() AttributeError: module 'dlib' has no attribute 'image_window' 三、出错原因:

出现这个错误的原因是在编译dlib库时缺少libx11环境。本人是下载包自行编译的,pip安装等其他方法安装dlib库的请自行参考。

四、解决方法

在编译dlib库之前安装libx11环境,安装语句:

sudo apt-get install libx11-dev 五、详细解决过程: (一)我安装dlib库的过程

虽然使用了Anaconda,但是在解释器的包库里并没有找到dlib(只有r-dlib,并不清楚是什么,从版本号来看看显然不是dlib库),所以只能自行安装dlib库。但是opencv在解释器的包库里,可以在Pycharm里一键安装。

安装boost并从github克隆dlib库(自行安装git包) sudo apt-get install libboost-all-dev git clone https://github.com/davisking/dlib.git

过程可能略慢

build编译2(自行安装cmake包) cd dlib mkdie bulid; cd build cmake .. -DDLIB_USE_CUDA=0 -DUSE_AVX_INSTRUCTIONS=1; cmake --bulid

使用CPU的AVX加速,不使用GPU加速

安装 cd .. python setup.py install (二)我的解决过程 先卸载dlib库 pip uninstall dlib

由于我是在外部编译,再安装到Anaconda Python环境里的,卸载完之后在终端里还可以导入,尚不清楚原因。

安装libx11环境 sudo apt-get install libx11-dev 根据已经编译的build文件夹(只进行(一).3过程),重新安装
运行结果:安装成功后,仍然出现相同错误。根据编译结果安装应该是没有用到libx11环境,看来需要在libx11环境下重新编译才行。 重新卸载dlib库,并且删除/dlib/build文件夹(别把整个dlib文件夹全删了不然得重头再来) 重新编译(从(一).2重新开始)
注意cd .. 的意思是回到上一级文件夹,也就是退出/dlib/build文件夹,进入/dlib根文件夹,不要无脑复制粘贴
在开始之前,我把libboost-all-dev和libx11-dev又输入安装指令了一遍,确认这两个环境已经是安装过的且最新的,才开始重新编译 安装完成后,问题解决 总结:安装dlib库流程
(一)1 → 安装libx11 →(一) 2 → (一)3 六、参考

http://tieba.baidu.com/p/5567688487
https://github.com/davisking/dlib/issues/302
https://sourceforge.net/p/dclib/discussion/442518/thread/78ba4b7b/?limit=25

其实也就是百度“module ‘dlib’ has no attribute ‘image_window’”的前三条结果

———————————————————————————————————————————————————————
本人新手,在校学生,刚接触ubuntu和python
非常感谢CSDN上各路大佬的帖子,感觉要回馈社区,所以写了这第一篇CSDN博客
这个问题的相关帖子比较少,特地写一下
欢迎咨询,不定期查看回复


作者:皮哩皮哩



ubuntu 方法 dlib image

需要 登录 后方可回复, 如果你还没有账号请 注册新账号