Image.fromarray 只产生黑色图像

2023-11-26

我正在尝试使用将 numpy 矩阵保存为灰度图像Image.fromarray。它似乎适用于随机矩阵,但不适用于特定矩阵(应该出现一个圆圈)。谁能解释我做错了什么?

from PIL import Image
import numpy as np
radius = 0.5
size = 10
x,y = np.meshgrid(np.linspace(-1,1,size),np.linspace(-1,1,size))
f = np.vectorize(lambda x,y: ( 1.0 if x*x + y*y < radius*radius else 0.0))
z = f(x,y)
print(z)
zz = np.random.random((size,size))
img = Image.fromarray(zz,mode='L') #replace z with zz and it will just produce a black image
img.save('my_pic.png')

Image.fromarray浮点输入定义不明确;它没有很好的文档记录,但该函数假设输入被布局为无符号 8 位整数。

要产生您想要获得的输出,请乘以 255 并转换为uint8:

z = (z * 255).astype(np.uint8)

它似乎适用于随机数组的原因是,当该数组中的字节解释为无符号 8 位整数时,看起来也是随机的。但输出与输入不是相同的随机数组,您可以通过对随机输入进行上述转换来检查:

np.random.seed(0)
zz = np.random.rand(size, size)
Image.fromarray(zz, mode='L').save('pic1.png')

pic1.png

Image.fromarray((zz * 255).astype('uint8'), mode='L').save('pic2.png')

pic2.png

由于这个问题似乎没有在任何地方报告,我在github上报告了它:https://github.com/python-pillow/Pillow/issues/2856

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Image.fromarray 只产生黑色图像 的相关文章

  • 如何使用 pyinstaller 包含文件?

    我也使用 tkinter 使用 python 3 7 编写了一个程序 由于我使用的是外部图片 因此当我将所有内容编译为一个 exe 时 我需要包含它们 我试过做 add data bg png files 但我仍然收到此错误 tkinter
  • JavaScript 相当于 Python 的参数化 string.format() 函数

    这是 Python 示例 gt gt gt Coordinates latitude longitude format latitude 37 24N longitude 115 81W Coordinates 37 24N 115 81W
  • 从Python中的字符串中提取货币金额

    我正在制作一个程序 从字符串中获取货币并将其转换为其他货币 例如 如果字符串是 the car cost me 13 250 我需要得到 and 13250 我已经有了这个正则表达式 1 确实如此 但是该字符串很有可能有多个价格 并且全部使
  • for 循环如何评估其参数

    我的问题很简单 Does a for循环评估它每次使用的参数 Such as for i in range 300 python 是否会为此循环的每次迭代创建一个包含 300 个项目的列表 如果是的话 这是避免这种情况的方法吗 lst ra
  • Jupyter Notebooks 不显示进度条

    我正在尝试在 Jupyter 笔记本中显示进度条 这是一台新电脑 我通常做的事情似乎不起作用 from tqdm import tqdm notebook example iter 1 2 3 4 5 for rec in tqdm not
  • 了解 Python 中的酸洗

    我最近接到一项作业 需要以腌制形式放置一本字典 其中每个键引用一个列表 唯一的问题是我不知道腌制形式是什么 谁能给我指出一些好的资源的正确方向来帮助我学习这个概念 pickle 模块实现了一个基本但强大的算法 用于序列化和反序列化 Pyth
  • 更新 Sqlalchemy 中的多个列

    我有一个在 Flask 上运行的应用程序 并使用 sqlalchemy 与数据库交互 我想用用户指定的值更新表的列 我正在使用的查询是 def update table value1 value2 value3 query update T
  • 当我在 Pandas 中使用 df.corr 时,我的一些列丢失了

    这是我的代码 import numpy as np import pandas as pd import seaborn as sns import matplotlib pyplot as plt data pd read csv dea
  • 当单词以“|”分隔时如何读取文件(埃因霍温)?

    在Python中 我有一个文件 其中的单词由 例如 city state zipcode 我的文件阅读器无法区分单词 另外 我希望我的文件阅读器从第 2 行而不是第 1 行开始 如何让我的文件阅读器分隔单词 import os import
  • 根据开始列和结束列扩展数据框(速度)

    我有一个pandas DataFrame含有start and end列 加上几个附加列 我想将此数据框扩展为一个时间序列 从start值并结束于end值 但复制我的其他专栏 到目前为止 我想出了以下内容 import pandas as
  • python是带有字符串的运算符行为[重复]

    这个问题在这里已经有答案了 我无法理解以下行为 我正在创建 2 个字符串 并使用 is 运算符来比较它 对于第一种情况 它的工作方式有所不同 对于第二种情况 它按预期工作 当我使用逗号或空格时 它显示是什么原因False与比较is当没有使用
  • Python多处理错误“ForkAwareLocal”对象没有属性“连接”

    下面是我的代码 我面临着多处理问题 我看到这个问题之前已经被问过 我已经尝试过这些解决方案 但它似乎不起作用 有人可以帮我吗 from multiprocessing import Pool Manager Class X def init
  • 如何使用 sys.path.append 在 Python 中导入文件?

    我的桌面上有两个目录 DIR1 and DIR2其中包含以下文件 DIR1 file1 py DIR2 file2 py myfile txt 这些文件包含以下内容 file1 py import sys sys path append s
  • 在 Sphinx 中,有没有办法在声明参数的同时记录参数?

    我更喜欢在声明参数的同一行记录每个参数 根据需要 以便应用D R Y http en wikipedia org wiki Don t repeat yourself 如果我有这样的代码 def foo flab nickers a ser
  • 解析根元素内元素之间的 XML 文本

    我正在尝试用 Python 解析 XML 以下是 XML 结构的示例 a aaaa1 b bbbb b aaaa2 a
  • 检测 IDLE 的存在/如何判断 __file__ 是否未设置

    我有一个脚本需要使用 file 所以我了解到 IDLE 没有设置这个 有没有办法从我的脚本中检测到 IDLE 的存在 if file not in globals file is not set 如果你想做一些特别的事情 file 未设置
  • 处理大文件的最快方法?

    我有多个 3 GB 制表符分隔文件 每个文件中有 2000 万行 所有行都必须独立处理 任何两行之间没有关系 我的问题是 什么会更快 逐行阅读 with open as infile for line in infile 将文件分块读入内存
  • Django 模型:如何使用 mixin 类来覆盖 django 模型以实现 save 等功能

    我想在每次保存模型之前验证值 所以 我必须重写保存函数 代码几乎是一样的 我想把它写在 mixin 类中 但失败了 我不知道如何写 super func 我英语不好 抱歉 class SyncableMixin object def sav
  • 如何获取所有mysql元组结果并转换为json

    我能够从表中获取单个数据 但是当我试图获取表上的所有数据时 我只得到一行 cnn execute sql rows cnn fetchall column t 0 for t in cnn description for row in ro
  • 使用 urllib 编码时保持 url 参数有序

    我正在尝试用 python 模拟 get 请求 我有一个参数字典 并使用 urllib urlencode 对它们进行 urlencode 我注意到虽然字典的形式是 k1 v1 k2 v2 k3 v3 urlencoding 后参数的顺序切

随机推荐

  • Django-Haystack 与 Solr 包含搜索

    我在用haystack在项目中使用solr作为后端 我希望能够执行包含搜索 类似于 Django filter something contains The startswith选项不适合我们的需求 因为顾名思义 它查找以字符串开头的单词
  • 需要一个包含至少一个数字、零个或多个字母、无空格、最小/最大的正则表达式

    我需要一个正则表达式来匹配包含以下内容的字符串 至少一个数字 零个或多个字母 没有其他字符 例如空格 该字符串还必须至少包含 8 个字符 最多包含 13 个字符 8 13 个字符串中数字和 或字母的位置并不重要 我还没有弄清楚如何确保字符串
  • 不要使用数组列表!

    人们经常告诉我不要使用 ArrayList 在 VB NET 中创建数组 我想听听对此的意见 为什么不呢 创建和操作数组内容 维度等的最佳方法是什么 Thanks 请改用通用列表 ArrayList 不是类型化的 这意味着您可以拥有一个包含
  • 在 Oracle 中插入一百万行的最快方法

    如何以最佳方式在 Oracle 中插入超过一百万行以执行以下过程 如果我将 FOR 循环增加到一百万行 它就会挂起 create or replace procedure inst prc1 as xssn number xcount nu
  • 在调试会话之间保留 app.config 中的数据

    因此 长话短说 我正在开发一个应用程序 它将利用一些可能在运行时通过应用程序本身更改的配置信息 为此 我想使用Settings class 问题在于 信息在应用程序的不同运行之间没有保留 Run 1 Console WriteLine Se
  • pod install -bash:pod:找不到命令

    我安装了pod前一段时间 但是 它已经停止工作 所以我正在努力解决this again 然而 我几乎立即遇到了一个问题 pod install bash pod command not found 有什么建议为什么会发生这种情况吗 好的 找
  • 如何将字母数字电话号码转换为数字

    UPDATE 我的实用程序的最终版本如下所示 StringBuilder b new StringBuilder for char c inLetters toLowerCase toCharArray switch c case 0 b
  • Simple_form 错误 - ActiveRecord::Relation:Class 的未定义方法“model_name”

    我试图通过将参数传递到 where 来向我的编辑操作添加更多条件逻辑 每当我使用 find params id 以外的任何内容时 都会出现错误 undefined method model name for ActiveRecord Rel
  • python中的求和矩阵列

    我可以对零列中的项目进行求和 但是我应该在哪里更改代码以对矩阵中的第 2 列 第 3 列或第 4 列求和呢 我很容易被难住 def main matrix for i in range 2 s input Enter a 4 by 4 ma
  • 编写 JSON 模式来检测具有重复名称的对象

    根据以下帖子 JSON 语法是否允许对象中有重复的键 JSON 中具有相同名称的键是有效的 但大多数解析器会用它找到的最后一个值覆盖该值 无论如何 json 模式中是否有检测重复名称并引发错误的方法 我希望所有 json 键在对象中都具有唯
  • 在 JavaScript 中压缩开关盒

    我创建了一个棋盘 但我不喜欢 switch case 语句的外观 我认为一定有一种方法可以压缩它 但我找不到 也许你们中的一些人可以帮助我 额外说明一下 棋子是在一个二维数组中 arr2 R N B Q K B N R P P P P P
  • __RTC_CheckEsp是如何实现的?

    RTC CheckEsp是一个验证正确性的调用esp 堆栈 寄存器 调用它是为了确保esp通过函数调用保存 有人知道它是如何实施的吗 对汇编程序进行一点检查就可以发现这一点 0044EE35 mov esi esp 0044EE37 pus
  • 在另一个框架中单击按钮时更新框架上的 JPanel 内容

    我创建了一个框架 x1 其中有一个面板 p1 加载 x1 时 复选框会动态添加到 p1 添加到 p1 的复选框数量取决于数据库表 t1 中满足特定条件的数据值的数量 框架 x1 上有一个按钮 b1 当点击b1时 会显示另一个框x2 在框x2
  • Python:select() 不会发出来自管道的所有输入信号

    我正在尝试使用 Python 加载外部命令行程序并通过管道与其进行通信 该程序通过标准输入获取文本输入 并按行生成文本输出到标准输出 通信应该使用 select 进行异步 问题是 并非程序的所有输出都在 select 中发出信号 通常最后一
  • 在 PHP 中获取两个日期时间之间的间隔秒数?

    2009 10 05 18 11 08 2009 10 05 18 07 13 这应该生成235 怎么做呢 对于 DateTime 对象 您可以这样做 date new DateTime 2009 10 05 18 07 13 date2
  • 更新 dll 而不停止服务

    我想在不停止服务的情况下更新服务器进程的 dll 我怎么做 有点像asp net如何自动拾取放置在bin文件夹中的新dll Asp Net 使用一种称为卷影副本 如果将更新的 dll 复制到应用程序的 bin 子目录中 ASP NET 运行
  • Spring 反应式 WebClient GET json 响应,内容类型为“text/plain;charset=UTF-8”

    当我请求一个端点返回内容类型为 text plain charset UTF 8 且格式正确的 json 响应时 我遇到了 Spring 5 反应式 WebClient 的问题 例外的是 org springframework web re
  • UIImage 动画图像色调颜色?

    有没有办法给动画中的图像着色 我知道我可以像这样对单个图像进行着色 var imageOne UIImage UIImage named pullto 1 png imageOne imageOne imageWithRenderingMo
  • Xcode 6.3 与 Swift 1.0 可能吗?

    是否可以使用 Xcode 6 3 但保留 Swift 1 0 使用 iOS 8 2 SDK 没有帮助 我找不到 Swift 版本的任何开关 编辑 我在 Swift 1 0 中有一个扩展构建 我不想碰它 但更新我的主项目 如果您遇到语法问题
  • Image.fromarray 只产生黑色图像

    我正在尝试使用将 numpy 矩阵保存为灰度图像Image fromarray 它似乎适用于随机矩阵 但不适用于特定矩阵 应该出现一个圆圈 谁能解释我做错了什么 from PIL import Image import numpy as n