首页 > 解决方案 > 尝试从 skimage 导入过滤器时出现 DLL 加载失败错误

问题描述

我在 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 笔记本。我没有时间尝试解决这个烂摊子。

标签: pythonpython-3.xanacondascikit-image

解决方案


通过重新安装 Pycharm 来修复它。


推荐阅读