如何使用 imageio 调整图像大小?

2024-01-07

考虑一个图像img类型的imageio.core.util.Array.

形状为img is (256, 256, 3)。我想将其调整为(128, 128, 3).

我至少尝试了以下三种:

img.resize(img_res, pilmode="RGB")
img.resize(img_res)
img = cv2.resize(img, self.img_res)

Here img_res = (128, 128).

他们都没有运作良好。如何将图像调整为所需的尺寸?


根据文档关于imageio.core.util.Array https://imageio.readthedocs.io/en/stable/devapi.html#imageio.core.Array, Array是“一个子类np.ndarray[...]”。因此,当调用resize一些img类型的Array,实际调用转到np.ndarray.resize https://numpy.org/doc/stable/reference/generated/numpy.ndarray.resize.html- 哪个IS NOT np.resize https://numpy.org/doc/stable/reference/generated/numpy.resize.html!这在这里很重要。

从文档上np.ndarray.resize:

Raises:

值错误

If a不拥有自己的数据[...]

这就是为什么,像这样的一些代码

import imageio

img = imageio.imread('path/to/your/image.png')
img.resize((128, 128))

会以这种方式失败:

Traceback (most recent call last):
    img.resize((128, 128))
ValueError: cannot resize this array: it does not own its data

该错误似乎与Array类,因为以下代码也会失败并显示相同的错误消息:

from imageio.core.util import Array
import numpy as np

img = Array(np.zeros((200, 200, 3), np.uint8))
img.resize((128, 128))

显然,Array类仅存储一些不可直接访问的 NumPy 数组的视图,也许是一些内部内存缓冲区!?

现在,让我们看看可能的解决方法:

实际上,使用np.resize like

import imageio
import numpy as np

img = imageio.imread('path/to/your/image.png')
img = np.resize(img, (128, 128, 3))

不是一个好的选择,因为np.resize未设计用于正确调整图像大小。所以,结果是扭曲的。

使用 OpenCV 对我来说效果很好:

import cv2
import imageio

img = imageio.imread('path/to/your/image.png')
img = cv2.resize(img, (128, 128))

请记住,OpenCV 使用 BGR 排序,而 imageio 使用 RGB 排序 – 这在使用时很重要cv2.imshow例如。

使用 Pillow 也可以正常工作:

import imageio
from PIL import Image

img = imageio.imread('path/to/your/image.png')
img = Image.fromarray(img).resize((128, 128))

最后,还有skimage.transform.resize:

import imageio
from skimage.transform import resize

img = imageio.imread('path/tp/your/image.png')
img = resize(img, (128, 128))

选择最适合您需求的一款!

----------------------------------------
System information
----------------------------------------
Platform:      Windows-10-10.0.16299-SP0
Python:        3.8.5
imageio:       2.9.0
NumPy:         1.19.5
OpenCV:        4.5.1
Pillow:        8.1.0
scikit-image:  0.18.1
----------------------------------------
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 imageio 调整图像大小? 的相关文章

  • 如何使用 np.newaxis?

    What is numpy newaxis https numpy org doc stable reference constants html numpy newaxis我什么时候应该使用它 在一维数组上使用它x产生 gt gt gt
  • 枕头成像导入错误

    我通过 pip 将 Pillow 3 0 0 安装到 32 位 Windows 7 PC 上的 Python3 5 上 从 PIL 导入图像 给我 File C Python 3 5 lib site packages PIL Image
  • 请推荐一个用于将 IPTC 数据写入图像的 Node 模块?

    我有一个 Node js 服务器 其工作是下载 JPEG 图像 将某些数据写入几个 IPTC 字段 例如Iptc Application2 Caption 并将图像传递给另一个服务 理想情况下 我想将 IPTC 数据写入内存缓冲区 而不将图
  • 从 url 加载图像并绘制到 HTML5 Canvas

    我在从 javascript 中的 url 加载图像时遇到问题 下面的代码可以工作 但我不想从 html 加载图像 我想使用纯 JavaScript 从 url 加载图像 var c document getElementById myCa
  • Python PIL 由于某种原因无法打开 PDF

    所以我的程序能够打开 PNG 但不能打开 PDF 所以我这样做只是为了测试 但它仍然无法打开 甚至是一个简单的 PDF 我不知道为什么 from PIL import Image with Image open r Adams K a pd
  • CSS - 将文本保留在图像下方

    我正在尝试创建一个简单的图片库 有人告诉我使用 float left 但是当我这样做时 页脚中的所有文本都会射到第一张图像 我已经搜索了大约一个小时试图找到解决方案 但我找不到任何东西 我尝试过使用边距 边框 不同的对齐方式和各种不同的小东
  • 我应该如何使用 jcrop 在客户端裁剪图像并上传?

    我正在开发一个包含文件上传 HTML 控件的组件 在使用文件上传元素选择图像后 该图像将呈现在 HTML5 Canvas 元素上 这是带有示例代码的 JSFiddle https jsfiddle net govi20 spmc7ymp h
  • Python - 如何将列表保存为图像?

    我生成一个常规列表 是否可以将此列表保存为 JPEG 图像或 PNG 或其他格式 以便我可以打开图像并查看它 我目前正在尝试使用 python 成像库 PIL 来解决这个问题 这是可能的解决方案之一 使用以下方法创建一个空图像对象 Imag
  • 使用 TCPDF PHP 库横向显示的图像

    我正在使用 TCPDF PHP 库生成包含照片的 PDF 文档 由于某种原因 某些照片在我的计算机和网络上正确显示 但当我将该图像放入 PDF 中时 它似乎是横向的 这只发生在某些图像上 大多数图像显示正确 下面是在 PDF 中横向显示的示
  • 在 Android 版 Glide 中离线时加载已获取的图像

    我正在使用 Glide 版本 4 8 0 为了加载图像我这样做 GlideApp with HomePageFragment this load remoteURL diskCacheStrategy DiskCacheStrategy A
  • Tkinter:无法识别图像文件中的数据[重复]

    这个问题在这里已经有答案了 我有以下问题 我使用外部应用程序生成 GIF 文件 对我来说 GIF 看起来不错 我可以毫无问题地打开它们 然而 使用 photo PhotoImage file screenshot file self pre
  • Swift 5 MacOS 图像调整大小内存问题

    我是使用 Swift 进行 Mac OS 应用程序开发的新手 但我尝试制作简单的 ImageResizer 应用程序 我必须调整 50k 图像的大小 10个小时后 内存已增加到近120GB 我以为 Swift 也有垃圾收集器 为什么它可以增
  • 图像上的文字

    是否可以在 php 中动态地将文本放置在图像上 然后将其发送到 rss feed 是的 可以使用GD http www php net gd函数或图像魔术师 http www php net imagemagick功能 具体取决于您的服务器
  • 在TImageViewer中,如何获取用户点击图片的位置?

    在TImageViewer控件中 用户可以缩放或平移图片 我的问题是 当用户点击图片时 如何获取用户在图片上的点击位置 尤其是用户可以对图片进行放大 缩小或平移之后 如何获取对应的图片点击位置呢 As shown below How to
  • 在单个显示器中绘制多个 jpeg 图像

    我需要在单个组合显示器 或画布 中绘制和显示多个 jpeg 图像 例如 假设我有图像 a b c d jpg 每个图像的大小不同 我想将它们绘制在 2x2 网格的一页上 能够为每个子图设置标题也很好 我一直在彻底寻找解决方案 但不知道如何去
  • 使用无图像按钮有哪些优点?

    讨论关于这个答案 https stackoverflow com questions 520640 how can i use googles new imageless button how could i reverse enginee
  • WPF 中按钮的启用和禁用状态的不同图像

    我想根据按钮的状态更改下面代码中按钮的图像 即使用不同的图像来启用和禁用状态
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • Oracle Blob 在 PHP 页面中作为 img src

    我有一个网站当前使用文件服务器上的图像 这些图像显示在页面上 用户可以根据需要拖放每个图像 这是使用 jQuery 完成的 图像包含在列表中 每张图片都非常标准 img src network path image png height 8
  • 左对齐图像和居中文本在 div 内的同一级别?

    HTML br div class UpperTitle img src align left CableSolve Web Dashboard Version 0 1 1 div br CSS UpperTitle text align

随机推荐

  • 用户控件与 Windows 窗体

    Visual Studio C 中的用户控件和 Windows 窗体有什么区别 非常简单地说 用户控件是一种制作自定义 可重用组件的方法 用户控件可以包含其他控件 但必须由窗体托管 Windows 窗体是控件 包括用户控件 的容器 虽然它包
  • 如何扩展 Google 地图中的共享位置 URL?

    我正在尝试从谷歌地图共享位置链接获取位置 因此我使用 Google Shorten URL API 来扩展 URL 但是当我从 Android 设备共享 Google 地图应用程序的 URL 时 它给了我https maps app goo
  • 自定义 HTTP 授权标头

    我想知道将自定义数据放入 HTTP 授权标头中是否可以接受 我们正在设计一个 RESTful API 我们可能需要一种方法来指定自定义授权方法 作为一个例子 我们称之为FIRE TOKEN验证 根据规范 这样的事情是否有效并允许 Autho
  • 什么是本机构建环境?

    我只是从互联网上阅读信息 目前cmake 关于页面 http www cmake org cmake project about html 我需要信息来填补空白 这有助于了解全局 我希望答案很简单 什么是本机构建环境 背景 我需要知道how
  • jQuery 设置单选按钮

    我正在尝试设置一个单选按钮 我想通过使用值或 ID 来设置它 这是我尝试过的 input radio name cols newcol attr checked true newcol是单选按钮的 id 也许需要进行一些编辑 有两组无线电盒
  • Cardview 中的 ConstraintLayout 添加空白

    我正在尝试创建一个CardView有一个ConstraintLayout组织一些TextView 有时它会按预期显示 但有时 它会添加额外的空白 例如当键盘关闭时 会破坏布局 我下面有一个 GIF 显示CardView在同一时间段内工作和不
  • 使用 SQL Server Server Management Studio 导入/导出数据库

    我认为这很简单 但事实并非如此 我确信有一种简单的方法可以做到这一点 但我无法找到它 我真丢脸 我想导入 导出数据库本身 表 约束 外键等 我宁愿不用它获取数据 但如果没有其他方法 我可以在之后删除它 那么 如何使用 MS SQL Serv
  • 如果没有发生左值到右值的转换,取消引用无效指针是否合法

    尽我所能 我见过的最接近的答案是this https stackoverflow com questions 7346634 dereferencing an invalid pointer then taking the address
  • YouTube 嵌入 iframe 未在 Safari 中显示

    链接是http thecodeclub org http thecodeclub org 还有一个 YouTube 视频 在 Chrome 中工作正常 但 iframe 在 Safari 中仍为空白 有其他人遇到过这个问题或者有解决办法吗
  • 如何在 JavaScript 中加载文本文件?

    我正在创建一个简单的 WebGL 项目 需要一种加载模型的方法 我决定使用 OBJ 格式 所以我需要一种方法来加载它 该文件 将 存储在服务器上 我的问题是 JS 中的文件如何加载到文本文件中并逐行扫描它 逐个令牌 就像 C 中的流一样 我
  • OpenGL ES 顶点着色器中动态调整大小的数组;用于混合形状/变形目标

    我即将执行混合形状 变形目标的 Opengl ES 实现 但我不太确定执行此操作的最佳方法 我面临的问题是我希望顶点数据的插值发生在 GPU 上 但我也希望混合形状的数量是任意的 澄清一下 我不希望我的顶点着色器看起来像这样 OpenGL
  • Wpf 动画最佳实践 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • async/await 函数内的 JavaScript Promise 解析最终的响应数组

    我是 JavaScript 和 Promises 方面的新手 我正在尝试构建从 API 获得的对象数组 为此 我在一个文件中构建了两个函数MyFile js 当 axios Promise 得到解决时 第一个返回一个 Promise 它是
  • 单击 ActionBar 中的后退按钮时不会调用 onActivityResult

    这是我的问题 创建一个主活动 添加一个按钮来启动另一个活动 SecondActivity Intent i new Intent getActivity SecondActivity class startActivityForResult
  • 使用 Java 进行 PGP 加密和解密 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想使用 PGP 密钥解密文件 我已经下载并安装了 PGP 密钥安装程序 我使用它创建了一个文本文件并使用 PGP 密钥加密了该文本文
  • 用于索引的 Cloud Firestore 通配符

    设置索引时 Cloud Firestore 中通配符级别的语法是什么 我知道有一个安全规则 Thanks Cloud Firestore 索引基于集合名称 不是完整的收集路径 所以如果你想创建索引users id messages 正确的方
  • 依赖注入 - 多个类方法中需要新实例

    我有一些代码看起来像这样 public MyService IDependency dependency dependency dependency public Message Method1 dependency DoSomething
  • 使用 Unix 工具和多列进行排序

    我正在寻找解决这个问题的最简单的方法 我有一个巨大的数据集 无法加载到这种格式的 Excel 中 This is a sentence 10 This is another sentence 5 This is the last sente
  • Delphi #IF(DEBUG) 等效吗?

    Delphi 是否有与 C if DEBUG 编译器指令等效的代码 用这个 IFDEF DEBUG ENDIF
  • 如何使用 imageio 调整图像大小?

    考虑一个图像img类型的imageio core util Array 形状为img is 256 256 3 我想将其调整为 128 128 3 我至少尝试了以下三种 img resize img res pilmode RGB img