代码之家  ›  专栏  ›  技术社区  ›  madik_atma

ImportError:无法导入名称“imshow”

  •  1
  • madik_atma  · 技术社区  · 6 年前

    不幸的是,我还没有找到解决这个问题的办法。

    from imgutils import imshow
    import cv2
    
    img3 = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
    
    plt.figure(figsize=(20,10))
    
    plt.subplot(1,2,1); imshow(img)
    plt.subplot(1,2,2); imshow(img3)
    

    ---------------------------------------------------------------------------
    ImportError                               Traceback (most recent call last)
    <ipython-input-31-8006396b3a04> in <module>
    ----> 1 from imgutils import imshow
          2 
          3 img3 = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
          4 
          5 plt.figure(figsize=(20,10))
    
    ImportError: cannot import name 'imshow'
    

    我正在开发一个macosx10.11,带有anaconda环境python3.5。

    有什么建议吗?


    更新

    from cv2 import imshow
    
    img3 = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
    
    plt.figure(figsize=(20,10))
    
    plt.subplot(1,2,1); imshow(img)
    plt.subplot(1,2,2); imshow(img3)
    

    回溯

    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)
    <ipython-input-13-d01b4c235975> in <module>
          5 plt.figure(figsize=(20,10))
          6 
    ----> 7 plt.subplot(1,2,1); imshow(img)
          8 plt.subplot(1,2,2); imshow(img3)
    
    TypeError: Required argument 'mat' (pos 2) not found
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   willeM_ Van Onsem    6 年前

    imgutils 似乎不包含 imshow 属性(因此绝对不是函数)。它不包含 显示图像 子模块,也不导入 显示图像 __init__.py 显示图像 功能。

    你可能想用 matplotlib.pyplot 模块,因此您应该替换:

    from imgutils import imshow

    from matplotlib.pyplot import imshow

    cv2.imshow [pyplot-doc] 功能。