【问题标题】:Getting DLL load failed error when trying to import filters from skimage尝试从 skimage 导入过滤器时出现 DLL 加载失败错误
【发布时间】:2020-01-09 23:12:12
【问题描述】:

我在 Python 3.6.9 环境中使用 Anaconda 4.8.0。使用 Numpy 1.18.1、SciPy 1.4.1 scikit-image 0.16.2。还安装了 6 个 1.13,虽然我不确定这有多重要。我想对图像进行一些简单的边缘检测,但在导入所需的包时遇到了一些问题。我读取图像,将其转换为灰度并想应用边缘过滤器。 我的代码是这样的

from PIL import Image 
from pathlib import Path
from skimage.filters.edges import sobel_h, sobel_v
pass_folder = Path('D:/Pycharm files/neuralnetwork/results/pass')
im = Image.open(pass_folder/'test.PNG').convert('L')
edges_h = sobel_h(im)
edges_v = sobel_v(im)
im.show(edges_h)

我收到以下错误

Traceback (most recent call last):
  File "C:/Users/arne.biermans/.PyCharmCE2018.2/config/scratches/scratch_8.py", line 5, in <module>
    from skimage.filters.edges import sobel_h, sobel_v
  File "C:\Users\arne.biermans\Conda envs\Tensorflow\lib\site-packages\skimage\filters\__init__.py", line 3, in <module>
    from .edges import (sobel, sobel_h, sobel_v,
  File "C:\Users\arne.biermans\Conda envs\Tensorflow\lib\site-packages\skimage\filters\edges.py", line 17, in <module>
    from ..restoration.uft import laplacian
  File "C:\Users\arne.biermans\Conda envs\Tensorflow\lib\site-packages\skimage\restoration\__init__.py", line 5, in <module>
    from .deconvolution import wiener, unsupervised_wiener, richardson_lucy
  File "C:\Users\arne.biermans\Conda envs\Tensorflow\lib\site-packages\skimage\restoration\deconvolution.py", line 6, in <module>
    from scipy.signal import fftconvolve, convolve
  File "C:\Users\arne.biermans\Conda envs\Tensorflow\lib\site-packages\scipy\signal\__init__.py", line 289, in <module>
    from . import sigtools, windows
  File "C:\Users\arne.biermans\Conda envs\Tensorflow\lib\site-packages\scipy\signal\windows\__init__.py", line 41, in <module>
    from .windows import *
  File "C:\Users\arne.biermans\Conda envs\Tensorflow\lib\site-packages\scipy\signal\windows\windows.py", line 9, in <module>
    from scipy import fftpack, linalg, special
  File "C:\Users\arne.biermans\Conda envs\Tensorflow\lib\site-packages\scipy\fftpack\__init__.py", line 99, in <module>
    from .basic import *
  File "C:\Users\arne.biermans\Conda envs\Tensorflow\lib\site-packages\scipy\fftpack\basic.py", line 12, in <module>
    from . import _fftpack
ImportError: DLL load failed: The specified module could not be found.

如果我只是导入 skimage 并使用 print(skimage.__version__) 我会得到 0.16.2 所以 skimage 似乎安装正确。我需要使用 Python 3.6,因为我还需要使用 Tensorflow。 我也尝试安装 Numpy-MKL,但这会导致错误。我也试过from skimage.filters import sobel_h, sobel_v,但这也不起作用。也许这是微不足道的,但我无法在这里找到问题所在。任何帮助表示赞赏。最近我花了更多时间尝试各种包而不是实际编码。

编辑:我完全删除了 Anaconda 并从头开始重新安装。运行 Jupyter 笔记本时,我可以很好地导入模块并打印它们的版本以查看它们是否安装正确。在 Pycharm 中,现在什么都没有加载,每个模块都会导致错误“找不到模块”。 Pycharm 指向正确的解释器。我将放弃 Pycharm,只使用 Jupyter 笔记本。我没有时间尝试解决这个烂摊子。

【问题讨论】:

  • 它显示导入fftpack有问题,因此您可能需要安装Fortran包fftpack

标签: python python-3.x anaconda scikit-image


【解决方案1】:

通过重新安装 Pycharm 修复它。

【讨论】:

    猜你喜欢
    • 2020-11-19
    • 1970-01-01
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    相关资源
    最近更新 更多