python - 尝试从 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 笔记本。我没有时间尝试解决这个烂摊子。
解决方案
通过重新安装 Pycharm 来修复它。
推荐阅读
- r - 将词对与 widyr 包相关联,但没有要分组的部分
- terraform - Terraform mkdir 没有这样的文件或目录
- javascript - 在 VueJS 中异步获取数据
- visual-studio - 如何在 Visual Studio 中更改所选文本的颜色?
- android - URI 的目标不存在:'package:meta/meta.dart'
- networking - 根据利用率对服务器进行排序
- swift - SwiftUI - 使工具栏的 NavigationLink 使用详细视图
- javascript - Javascript JSON值未定义,但在内存中显示对象?
- javascript - 如何使用firebase javascript函数从firestore获取随机值
- laravel - 解决查询存储在数据透视表属性中的模型时的 n+1 问题