hdrcnn环境配置以及踩坑

文章:《HDR image reconstruction from a single exposure using deep CNNs》
代码:https://github.com/gabrieleilertsen/hdrcnn

关于python3运行OpenEXR的坑

安装OpenEXR的依赖库

使用sudo apt-get install libopenexr-dev安装的是1.2.0的版本,不过这个只能在python2.7中使用,因此需要安装OpenEXR 2.3.0

  • 方法一:源码编译:https://github.com/openexr/openexr
  • 方法二:如果你是使用anaconda环境,可以直接安装,运行conda install -c conda-forge openexr
安装OpenEXR的python库
  • 完成上面步骤之后就可以安装OpenEXR的python包。
  • 使用pip3 install OpenEXR安装的包会发生OpenEXR.cpython-35m-x86_64-linux-gnu.so: undefined symbol: _ZNK7Imf_2_214TypedAttributeISsE12writeValueToERNS_7OStreamEi的错误,原因是OpenEXR.cpython-35m-x86_64-linux-gnu.so是采用g++-4编译的,但是第一步的库都是使用g++-5编译的,关于std::string在so库里面的命名发生变化,所以找不到定义。解决办法如下:
    • 下载 https://github.com/jamesbowman/openexrpython 源码
    • 使用sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50命令将系统默认的g++-4gcc-4变为g++-5gcc-5
    • 安装步骤编译,安装即可
遇到的问题:
  • 遇到undefined symbol: _ZTIN7Iex_2_27BaseExcE错误,原因是使用conda install -c conda-forge openexr安装的是2.3.0版本的,但是openexrpython是依赖2.2.0版本的,因此需要安装回2.2.0版本,使用conda install -c daleydeng openexr,相关版本可以在anaconda search这里找到。
  • OpenEXR.cpp:37:19: fatal error: ImfIO.h: 没有那个文件或目录错误:因为采用的是conda安装依赖库,因此需要修改setup.py里面依赖库和头文件的位置。
  • /home/chuangbin/anaconda3/envs/py36/compiler_compat/ld: cannot find -lIlmImf错误:lib文件里面缺少IlmImf.so,创建链接即可。
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值