问题:
使用机器学习中的k-means算法对图片进行处理,在导入图片时,遇到了AttributeError: module ‘scipy.misc‘ has no attribute ‘imread‘ 错误,为了解决这个错误研究了很久,在这里把我的解决经验分享给大家。
- 下面是我导入图片的python语句:
img = sm.imread('/Users/yzyzzzz/Downloads/k.png')
- 下图是运行错误的截图:
产生原因分析:
一、可能是没有安装pillow包:
因为要使用sm.imread导入图片需要先有pillow包。如果你没有预先安装pillow包的话,则可以通过两种方法安装解决。
-
方法一:直接在命令行输入 “pip install pillow” 命令进行下载:
-
方法二:
-
点击pycharm 选择Preferences
-
点击Python Interpreter
-
点击下方➕号
-
在上方选框输入pillow ,找到pillow后,点击左下方的Install Package进行下载即可。
由于我一开始就下载了anaconda,所以不存在包缺少的问题,我出现报错的原因肯定不是这个,让咱们继续往后探索!(PS:我感觉在mac上的pycharm导入anaconda也是个麻烦事,如果同样遇到这个麻烦的同学可以关注一下我后面的博客更新)
二、scipy版本过高
大家可以通过上面提到的方法去下载低版本的scipy,其中命令行导入的方法是语句是pip install scipy==1.2.1
。
这个解决方法我试了很久,不知道是因为anaconda的原因还是下载源的原因,根本没有办法下载低版本的scipy
三、换种方式读取图片
-
原读取语句是:
img = sm.imread('/Users/yzyzzzz/Downloads/k.png')
-
更改语句:
import imageio img = imageio.imread('/Users/yzyzzzz/Downloads/k.png')
终于解决了!