python 未定义scipy.signal,但在导入skimage后工作

9nvpjoqh  于 2023-05-27  发布在  Python
关注(0)|答案(1)|浏览(170)

我想从SciPy中使用scipy.signal.convolve2d()函数,但signal未定义:

>>> import scipy
...
>>> conv = scipy.signal.convolve2d(data, kernel, mode="same")

Error: Traceback (most recent call last):
  File "test.py", line n, in <module>
    conv = scipy.signal.convolve2d(data, kernel, mode="same")
AttributeError: module 'scipy' has no attribute 'signal'.

但是当我添加skimage import时:

from skimage.morphology import square

from skimage.morphology import disk

它突然开始被定义,并且工作正常。任何想法为什么以及如何正确地修复它,所以它不需要未使用的进口?Skimage是一个完全不同的东西,不相关(至少在理论上)。
库版本:

scikit-image              0.19.2           py37hf11a4ad_0    anaconda
scikit-learn              1.0.2            py37hf11a4ad_1
scipy                     1.7.3            py37h0a974cb_0

Python版本:

Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
4uqofj5v

4uqofj5v1#

使用

import scipy.signal

以确保导入SciPy Signal子包。
import skimage可能在后台导入了scipy.signal,因此子包在名称空间中可用;通常,你需要自己做。

相关问题