Ошибка загрузки DLL при попытке импортировать фильтры из Skimage - PullRequest
0 голосов
/ 10 января 2020

Я использую Anaconda 4.8.0 со средой Python 3.6.9. Используя Numpy 1.18.1, SciPy 1.4.1 scikit-image 0.16.2. Six 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.

Если я просто импортирую лыжный образ и использую print(skimage.__version__), я получаю 0.16.2, поэтому кажется, что лыжный образ установлен правильно , Мне нужно использовать Python 3.6, потому что мне также нужно использовать Tensorflow. Я также попытался установить Numpy -MKL, но это привело к ошибке. Я также пытался from skimage.filters import sobel_h, sobel_v, но это тоже не работает. Может быть, это тривиально, но я не могу найти, что здесь не так. Любая помощь приветствуется. В последнее время я потратил больше времени, пытаясь работать с различными пакетами, чем с реальным кодированием.

Редактировать: Я полностью удалил Anaconda и переустановил с нуля. При работе с ноутбуком Jupyter я могу просто импортировать модули и распечатать их версии, чтобы увидеть, правильно ли они установлены. В Pycharm теперь ничего не загружается, каждый модуль приводит к ошибке «Модуль не найден». Пихарм указывает на правильного переводчика. Я откажусь от Pycharm и просто буду использовать блокноты Jupyter. У меня нет времени, чтобы попытаться исправить этот беспорядок.

1 Ответ

0 голосов
/ 21 января 2020

Исправлено путем переустановки Pycharm.

...