-
2021-12-30 12:14:17
python scipy.misc.imread_scipy.misc.imread()函数解析
weixin_39828457 2020-12-08 08:22:07 264 收藏
文章标签: python scipy.misc.imreadscipy.misc.imread()函数用于从文件中读取图像作为数组。
scipy.misc.imread(name,
flatten=False,
mode=None
)
参数:
name:str或file对象。要读取的文件名或文件对象。
flatten:bool,可选。如果为True,则将颜色层展平为单个灰度图层。
mode:str,可选。将图像转换为例如的模式’RGB’。
返回:
imread:ndarray。通过读取图像获得的阵列。
注意:
“”"
Notes
imread
uses the Python Imaging Library (PIL) to read an image.The following notes are from the PIL documentation.
mode
can be one of the following strings:-
‘L’ (8-bit pixels, black and white)
-
‘P’ (8-bit pixels, mapped to any other mode using a color palette)
-
‘RGB’ (3x8-bit pixels, true color)
-
‘RGBA’ (4x8-bit pixels, true color with transparency mask)
-
‘CMYK’ (4x8-bit pixels, color separation)
-
‘YCbCr’ (3x8-bit pixels, color video format)
-
‘I’ (32-bit signed integer pixels)
-
‘F’ (32-bit floating point pixels)
PIL also provides limited support for a few special modes, including
‘LA’ (‘L’ with alpha), ‘RGBX’ (true color with padding) and ‘RGBa’
(true color with premultiplied alpha).
When translating a color image to black and white (mode ‘L’, ‘I’ or
‘F’), the library uses the ITU-R 601-2 luma transform::
L = R * 299/1000 + G * 587/1000 + B * 114/1000
When
flatten
is True, the image is converted using mode ‘F’.When
mode
is not None andflatten
is True, the image is firstconverted according to
mode
, and the result is then flattened usingmode ‘F’.
“”"
以下是翻译:
imread使用Python Imaging Library(PIL)读取图像。以下注释来自PIL文档。
mode可以是以下字符串之一:
‘L’(8位像素,黑白)
‘P’(8位像素,使用调色板映射到任何其他模式)
‘RGB’(3x8位像素,真彩色)
‘RGBA’(4x8位像素,带透明蒙版的真彩色)
‘CMYK’(4x8位像素,分色)
‘YCbCr’(3x8位像素,彩色视频格式)
‘I’(32位有符号整数像素)
‘F’(32位浮点像素)
PIL还为一些特殊模式提供有限的支持,包括’LA’(带有alpha的’L’),‘RGBX’(带填充的真彩色)和’RGBa’(带有预乘alpha的真彩色)。
将彩色图像转换为黑白(模式“L”,“I”或“F”)时,库使用ITU-R 601-2亮度转换:
L=R∗299/1000+G∗587/1000+B∗114/1000L=R299/1000+G587/1000+B*114/1000L=R∗299/1000+G∗587/1000+B∗114/1000
当flatten为True时,使用mode“F”转换图像。当mode不是None并且flatten为True时,首先根据mode转换图像,然后使用mode’F’flatten结果。
标签:color,misc,像素,scipy,mode,imread,bit,pixels,1000
更多相关内容 -
-
无需降级scipy的情况下解决AttributeError: module ‘scipy.misc’ has no attribute ‘imread’,imresize...
2020-12-21 12:12:38无需降级scipy的情况下解决AttributeError: module ‘scipy.misc’ has no attribute ‘imread’, AttributeError: module ‘scipy.misc’ has no attribute ‘imresize’, AttributeError:module ‘scipy.misc’ ... -
浅谈python中scipy.misc.logsumexp函数的运用场景
2020-12-23 18:21:02scipy.misc.logsumexp函数的输入参数有(a, axis=None, b=None, keepdims=False, return_sign=False),具体配置可参见这里,返回的值是np.log(np.sum(np.exp(a)))。 这里需要强调的是使用该函数的场景: 一般来说,该... -
于scipy.misc.imread和scipy.misc.imresize被弃用后的解决方法
2022-05-06 10:45:48关于scipy.misc.imread和scipy.misc.imresize被弃用后的解决方法解决方法1--降`scipy`版本解决方法2--使用新的语法形式imreadimresize 最近运行代码的时候出现了这个错误AttributeError: module 'scipy.misc' has no...List item
关于scipy.misc.imread和scipy.misc.imresize被弃用后的解决方法
最近运行代码的时候出现了这个错误
AttributeError: module 'scipy.misc' has no attribute 'imread'
,AttributeError: module 'scipy.misc' has no attribute 'imresize'
经过查阅资料发现是因为scipy
的版本过高导致,由于scipy
的1.3.0版本以后弃用了imread,imresize
函数的用法解决方法1–降
scipy
版本降级到
scipy==1.2.1,Pillow = 6.0.0
就可以完美解决了,降级版本代码如下:pip install scipy==1.2.1
pip install pillow==6.0.0
解决方法2–使用新的语法形式
毕竟
scipy
已经升级,降版本并不能从根本上解决问题,下边给出该函数的替代方案:imread
原来的用法是:
imgdata = scipy.misc.imread(imgfile)
现在改为
import imageio imgdata = imageio.imread(imgfile)
imresize
原来的用法是:
imgdata = scipy.misc.imresize(rgbdata, self.inres)
现在改为
from PIL import Image imgdata = np.array(Image.fromarray(rgbdata).resize(self.inres))
如果提示不能找到
PIL
库时,则pip
安装pillow
库即可 -
scipy.misc.imresize改为Image.resize方法
2022-06-21 21:30:01scipy.misc.imresize源码 @numpy.deprecate(message="`imresize` is deprecated in SciPy 1.0.0, " "and will be removed in 1.3.0.\n" "Use Pillow instead: ``numpy.array(Image.fromarray(arr).resize())``.") ...scipy.misc.imresize源码
@numpy.deprecate(message="`imresize` is deprecated in SciPy 1.0.0, " "and will be removed in 1.3.0.\n" "Use Pillow instead: ``numpy.array(Image.fromarray(arr).resize())``.") def imresize(arr, size, interp='bilinear', mode=None): im = toimage(arr, mode=mode) # im为PIL.Image.Image对象 ts = type(size) if issubdtype(ts, numpy.signedinteger): percent = size / 100.0 size = tuple((array(im.size)*percent).astype(int)) elif issubdtype(type(size), numpy.floating): size = tuple((array(im.size)*size).astype(int)) else: size = (size[1], size[0]) func = {'nearest': 0, 'lanczos': 1, 'bilinear': 2, 'bicubic': 3, 'cubic': 3} imnew = im.resize(size, resample=func[interp]) # 调用PIL库中的resize函数 return fromimage(imnew)
解决方式就在提示错误的下面,照着更改,就可以了
参考链接from PIL import Image img = np.array(Image.fromarray(myImage).resize((num_px,num_px)))
总结:- 导入模块
from PIL import Image
和import numpy as np
- 将图片打开
- 转换成
asarray
格式 - 设置需要转换的高度和宽度即可
np.array(Image.fromarray(a).resize((resize_h,resize_w)))
- 导入模块
-
scipy笔记—scipy.misc.imresize用法(方便训练图像数据)
2022-02-11 12:04:01scipy.misc.imresize 不同于普通的reshape, imresize不是单纯的改变图像矩阵的维度,而是能将图片重采样为指定像素,这样给深度学习中训练图像数据带来方便。 import numpy as np import matplotlib.pyplot as ...scipy.misc.imresize
不同于普通的reshape, imresize不是单纯的改变图像矩阵的维度,而是能将图片重采样为指定像素,这样给深度学习中训练图像数据带来方便。
import numpy as np import matplotlib.pyplot as plt import h5py import scipy from PIL import Image from scipy import ndimage %matplotlib inline num_px = 64 my_image = "my_image4.jpg" # 修改你图像的名字 fname = "images/" + my_image # 图片位置 image = np.array(ndimage.imread(fname, flatten=False)) # 读入图片为矩阵 plt.imshow(image)
# my_image = scipy.misc.imresize(image, size=(num_px, num_px)).reshape((1, num_px * num_px * 3)).T # 转置图片为 (num_px*num_px*3, 1)向量 # 重新设置图像像素 my_image = scipy.misc.imresize(image, size=(num_px, num_px)) plt.imshow(my_image)
2020.6.3日修改============================================================
这个函数在新版本的scipy中不能用了,改成
import imageio from skimage.transform import resize ## START CODE HERE ## (PUT YOUR IMAGE NAME) my_image = "my_image4.jpg" # 修改你图像的名字 ## END CODE HERE ## # We preprocess the image to fit your algorithm. fname = "images/" + my_image # 图片位置 image = np.array(imageio.imread(fname)) # 读入图片为矩阵, 这里用原版本的会出错,scipy的那个函数被删了 print(image.shape) # 转置图片为 (num_px*num_px*3, 1)向量 my_image = resize(image, output_shape=(num_px, num_px)).reshape((1, num_px * num_px * 3)).T print(my_image)
-
scipy.misc.imresize的替换方案
2021-01-13 21:59:14=1.3.0时,导入scipy.misc.imresize会出现如下错误 AttributeError: module ‘scipy.misc’ has no attribute ‘imresize’ 或 from scipy.misc import imresize ImportError: cannot import name ‘imresize’ 原因... -
scipy.misc.imread()函数解析
2020-12-08 08:22:07scipy.misc.imread()函数用于从文件中读取图像作为数组。scipy.misc.imread(name,flatten=False,mode=None)参数:name:str或file对象。要读取的文件名或文件对象。flatten:bool,可选。如果为True,则将颜色层展平... -
from scipy.misc import imsave 报错
2021-07-07 01:35:03安装 imageio :pip install imageio from scipy.misc import imsave 改为 from imageio import imsave -
【python 报错module ‘scipy.misc‘ has no attribute ‘imsave‘】
2022-06-06 16:52:44我们可以看到报错的原因是在scipy.misc中找不到属性‘imsave’接下来我们拓展一下错误在遇到相同错误时可同样解决: 当我们遇到相同报错如 imsave,imread,imwrite等属性或者关于其他包的其他属性找不到时,我们可以... -
为什么Scipy.misc.导数给出错误答案Python
2021-03-05 12:41:53在{1美元^我算出了导数存在的数学,一切都应该是好的,我想看看在“奇点”发生了什么,但我得到:“x=0”处的奇点与我的期望相反:我期望的那种结果我的代码:from scipy.misc import derivative as derivimport ... -
from scipy.misc import imread, imresize, imsave 报错的解决方法
2022-07-08 20:13:32报错原因: Python已经取消scipy库中imread,imresize,imsave三个函数的使用 解决方法: 1.imread和imsave解决方法: Python已将imread和imsave两个函数写入imageio库中,我们可以先安装imageio库,就可以使用... -
ImportError with scipy.misc cannot import toimage错误解决
2022-01-16 19:59:09scipy.misc.toimage(image_numpy).save(s, format="jpeg") 错误提示: ImportError with scipy.misc cannot import toimage 问题原因 scipy库版本过高,在1.2版本以后就删除了这个函数。 解决方案 很多解决方案... -
from scipy.misc import imread 报错之解决
2022-02-11 08:35:57制作词云的时候,我们会利用 mask 参数来实现异形展示,需调用 imread() 函数来处理有关图片,既往多通过安装 scipy 库来实现: from scipy.misc import imread mask=imread('mask.png') =wordcloud.WordCloud(..... -
module 'scipy.misc' has no attribute 'toimage'
2020-12-08 08:18:53根据Scipy官方文档的说法,scipy.misc.toimage在1.2.1之后的版本中已经被移除了,所以要做的第一件是就是降级:pip install scipy==1.2.1如果你下载了之后还是用不了的话,可以先看看这个库的属性:dir(scipy.misc)... -
scipy.misc.bytescale.py
2020-09-04 11:43:29scipy.misc.bytescale的替代函数代码,简单易用,也可以自己当作模块导入,代码也可以根据自己需要更改 -
from scipy.misc import imread 报错原因
2020-12-04 14:58:24用python scipy中执行from scipy.misc import imread, imsave, imresize语句时,会报出如下错误然后找到http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy中安装scipy的界面,发现安装scipy需要numpy+mkl和pillow1.... -
python调用imread报错:from scipy.misc import imread 报错之解决
2022-06-10 10:35:34对图像 进行io 相关的操作时需要调用imread()函数来处理图片,既往多通过安装 scipy 库来实现: from scipy.misc import imread 但是这里会报错显示:ImportError: cannot import name imread, 解决方法1: 这时就... -
cannot import name 'imread' from 'scipy.misc'
2019-06-09 00:50:56ImportError: cannot import name 'imread' from 'scipy.misc' (D:\Program Files (x86)\Python37\lib\site-packages\scipy\misc\__init__.py) ``` 已经从网上找了很多帖子关于此问题,但都未能解决,求各位大大... -
成功解决:AttributeError: module ‘scipy.misc’ has no attribute ‘imwrite’
2022-06-15 10:17:58成功解决:AttributeError: module ‘scipy.misc’ has no attribute 'imwrite’ -
ModuleNotFoundError: No module named ‘scipy.misc.pilutil
2022-01-10 20:59:02ModuleNotFoundError: No module named 'scipy.misc.pilutil' -
opencv imwrite函数和scipy.misc.imsave函数注意事项
2021-08-06 14:54:39float64信息: imsave后打印: scipy.misc.imsave(os.path.join(os.path.dirname(sourcefile),'adjust_'+os.path.basename(sourcefile)), f1) #cv2.imwrite(os.path.join(os.path.dirname(sourcefile),'adjust_'+os... -
cannot import name ‘‘ from ‘scipy.misc
2022-04-11 15:24:13一些“古老”的模型实现中用到了scipy.misc的一些函数,做复现时都成了bug; imread, imsave: from imageio import imread, imsave imresize: from PIL import Image image = np.array(Image.fromarray(image).... -
scipy.misc import 'imread' 导入失败解决方法
2020-12-08 08:22:13[Python] 纯文本查看 复制代码# 分词模块import jieba# 画图模块import matplotlib.pyplot as plt# 文字云模块from wordcloud import WordCloud# 这是一个处理图像的函数,读取背景图片#from scipy.misc import ... -
ImportError: cannot import name ‘logsumexp‘ from ‘scipy.misc
2021-08-10 13:09:54初次使用scipy就遇到这个问题,我第一感觉就是这应该是版本问题,有的博主说通过修改scipy的版本即; # 首先卸载掉现有版本的scipy pip uninstall scipy # 然后安装指定版本 pip install scipy==1.2.1 这个方法... -
module ‘scipy.misc‘ has no attribute ‘imsave
2022-03-10 12:18:35一、可尝试下面这种方法 关键一步:报错module 'scipy.misc' has no attribute 'imsave' 或者'imread'_zkbaba的博客-CSDN博客 二、scipy版本降至1.0.0 -
修复 scipy.misc.imresize() 函数弃用
2021-05-12 14:43:40文章目录修复 scipy.misc.imresize() 函数弃用修改为尽情享用吧~ 修复 scipy.misc.imresize() 函数弃用 修改为 import numpy as np from PIL import Image def scipy_misc_imresize(arr, size, interp='bilinear', ...