在import scipy.misc 后找不到 imsave的解决方案

在想把CIFAR-10 的16进制数据转为图像的时候需要用到imsave(),但是在import scipy.misc 之后显示该库内没有imsave()

后来发现还需要安装 Pillow这个包

解决:

pip install Pillow

原因分析:

在安装Pillow之前,通过dir(scipy.misc) 可以查看里面的包,然后发现找不到imsave()函数

安装Pillow之后,再次查看就能发现多了很多函数,其中包括imsave(), imread()

Pillow是python的一个十分强大的图像处理库,imsave之类的图像处理函数应该是属于Pillow库的

导入的时候需要输入 import PIL,但是此时调用imsave是找不到的

这种安装包还会在其他库内导入新的函数的行为是第一次发现。

补充:解决module scipy.misc has no attribute imsave报错办法

当我们想要打开scipy.misc.imsave()包中的图像,出现了这样的报错怎么做

from scipy import misc
import matplotlib.pyplot as plt
f = misc.face()
misc.imsave('face.png', f) # uses the Image module (PIL)
plt.imshow(f)
plt.show()
Traceback (most recent call last):
  File "D:/pycharm/pycharm_project/Numpy Matplotlib scipy/scipy图像处理.py", line 4, in <module>
    misc.imsave('face.png', f) # uses the Image module (PIL)
AttributeError: module 'scipy.misc' has no attribute 'imsave'

处理方法:

这里需要用到另外一种打开方法:

import imageio
imageio.imsave()
# 例
from scipy import misc
import imageio
import matplotlib.pyplot as plt
f = misc.face()
imageio.imsave('face.png', f)
plt.imshow(f)
plt.show()

输出

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python使用scipy保存图片的一些注意点

    首先我们载入一张灰度图片,一般灰度图片像素为0-255. 可以发现该图片的最大像素为254,最小像素为2.一般处理图片时会转化为double类型. 我们将图片使用scipy保存为pgm格式. 然后我们重新读取该图片信息. 其像素值发生了变化,自动标准化到了0-255范围,最小值变为0,最大值变为255. 所以,使用scipy保存图像时,加上2个参数,cmin和cmax.就可以了 重新读取图片.结果正确 补充:from scipy import misc 读取和保存图片 from scipy im

  • python scipy.misc.imsave()函数的用法说明

    这个函数用于储存图片,将数组保存为图像 此功能仅在安装了Python Imaging Library(PIL)时可用.版本也比较老了,新的替代它的是imageio.imwrite() 用法: imsave(*args, **kwds) 参数: name :文件名或者文件名加目录 arr:np-array的矩阵,MxN or MxNx3 or MxNx4这三种格式,分别对应灰度图像,RGB图像和RGB+alpha图像 format :str型,图像输出的类型,省略的话,图片直接输出图片的扩展名.

  • python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法

    Python的字符集处理实在蛋疼,目前使用UTF-8居多,然后默认使用的字符集是ascii,所以我们需要改成utf-8 查看目前系统字符集 复制代码 代码如下: import sys print sys.getdefaultencoding() 执行: 复制代码 代码如下: [root@lee ~]# python a.py ascii 修改成utf-8 复制代码 代码如下: import sys   sys.setdefaultencoding('utf-8')   print sys.get

  • 在import scipy.misc 后找不到 imsave的解决方案

    在想把CIFAR-10 的16进制数据转为图像的时候需要用到imsave(),但是在import scipy.misc 之后显示该库内没有imsave() 后来发现还需要安装 Pillow这个包 解决: pip install Pillow 原因分析: 在安装Pillow之前,通过dir(scipy.misc) 可以查看里面的包,然后发现找不到imsave()函数 安装Pillow之后,再次查看就能发现多了很多函数,其中包括imsave(), imread() Pillow是python的一个十

  • vue 动态设置img的src地址无效,npm run build 后找不到文件的解决

    动态设置img的src属性无效,而直接写可以 解决办法: imgSrc写成require('path'): 原因: 动态添加src被当做静态资源处理了,没有进行编译 npm run build 后出现 xxxxxxx net::ERR_FILE_NOT_FOUND 解决办法: 进入:build文件夹 > 打开 webpack.prod.conf.js 找到:output 对象 添加:publicPath:'./' 具体写法: publicPath: process.env.NODE_ENV ==

  • 浅谈python中scipy.misc.logsumexp函数的运用场景

    scipy.misc.logsumexp函数的输入参数有(a, axis=None, b=None, keepdims=False, return_sign=False),具体配置可参见这里,返回的值是np.log(np.sum(np.exp(a))). 这里需要强调的是使用该函数的场景: 一般来说,该函数主要用于非常小的数值的运算(比如蒙特卡洛取样样本).在这种情况下,将数据保持log处理是必须的.所以这时你如果想将数组中的数据累加求和就需要这样计算log(sum(exp(a))),但这样做就

  • 解决Nodejs全局安装模块后找不到命令的问题

    碰到了这问题,记录一下,看提示应该是环境变量的问题,执行如下命令得到Nodejs的模块安装路径: npm prefix -g 将输出的全局安装路径加入的环境变量的Path条目中即可. 以上这篇解决Nodejs全局安装模块后找不到命令的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: Nodejs全局安装和本地安装的不同之处 npm全局模块卸载及默认安装目录修改方法 解决node.js安装包失败的几种方法 修改npm全局安装模式的路径方法 n

  • ThinkPHP5.0多个文件上传后找不到临时文件的修改方法

    这是修改之前的代码 if(!empty($_FILES)){ if(!empty($_FILES['org_positive'])){ $org_positive = request()->file('org_positive'); if($org_positive){ $info = $org_positive->move(ROOT_PATH . 'uploads'); $positive_path="/uploads/".$info->getSaveName();

  • 详谈vue+webpack解决css引用图片打包后找不到资源文件的问题

    使用vue打包,通过css引用图片资源. .img { height: 500px; width: 100%; background: url("./assets/img/1.jpg") no-repeat; background-size: 100%; } 热更新开发环境的效果是这样 但打完包出来的页面却报找不到资源的错误. 查了一下原因,css引入图片再打包后,style-loader无法设置自己的publicPath,于是我改变了ExtractTextPlugin的css路径pu

  • mysql免安装版步骤解压后找不到密码处理方法

    1.解压mysql-8.0.21-winx64 2.配置环境变量,地址写到bin文件夹下 3.创建配置文件,命名为 my.ini,内容如下 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] interactive_timeout=28800000 wait_timeout=28800000 # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\ProgramFiles\mysql

  • Maven打包后找不到class文件的问题

    目录 1.问题起源 2.可能的原因 3.解决方法 1.问题起源 某个项目Jenkins打包后生成的war包里没有class文件,并且没有任何报错或者警告,打包也提示成功. 2.可能的原因 历经各种折腾,偶然发现某个依赖的jar包在仓库里没有对应的pom.xml文件.但是maven没有报任何错误或者警告,导致一直没有发现.至于为何该依赖没有pom.xml文件,还不清楚原因. 一般情况下,比如我们依赖的commons-dbcp,仓库中包括的文件如下: 但是依赖的某个jar包,在maven仓库里包括的

  • vue 打包后找不到dist文件夹的解决方案

    目录 打包后找不到dist文件夹 运行vue打包后的dist文件夹下的项目 需要安装http-server 通过命令行进入到dist文件夹 打包后找不到dist文件夹 接受一个别人做了一半的项目  , 结果要打包测试的时候  执行npm run build 后 没有dist 文件 看了一下 config文件夹里面的index.js 文件 的build对象, 原来是默认的打包路劲被修改了 , 修改回来就好了, __dirname是获取当前位置的绝对路径 运行vue打包后的dist文件夹下的项目 需

随机推荐