在python中读取PFM格式

2023-12-15

我想读书PFM使用 Python 格式化图像。我尝试过imageio.read但它抛出一个错误。请问我可以有什么建议吗?

img = imageio.imread('image.pfm')

以下 Python 3 实现将解码 .pfm 文件。

下载示例纪念馆.pfm from 保罗·德韦贝克的页面.

from pathlib import Path
import numpy as np
import struct


def read_pfm(filename):
    with Path(filename).open('rb') as pfm_file:

        line1, line2, line3 = (pfm_file.readline().decode('latin-1').strip() for _ in range(3))
        assert line1 in ('PF', 'Pf')
        
        channels = 3 if "PF" in line1 else 1
        width, height = (int(s) for s in line2.split())
        scale_endianess = float(line3)
        bigendian = scale_endianess > 0
        scale = abs(scale_endianess)

        buffer = pfm_file.read()
        samples = width * height * channels
        assert len(buffer) == samples * 4
        
        fmt = f'{"<>"[bigendian]}{samples}f'
        decoded = struct.unpack(fmt, buffer)
        shape = (height, width, 3) if channels == 3 else (height, width)
        return np.flipud(np.reshape(decoded, shape)) * scale


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

在python中读取PFM格式 的相关文章

  • Django:模拟模型上的字段

    如何将模拟对象分配给该模型上的用户字段 无论如何都要绕过 SomeModel user 必须是 User 实例 检查吗 class SomeModel models Model user models ForeignKey User 我不会
  • boto3 资源(例如 DynamoDB.Table)的类型注释

    The boto3库提供了几种返回资源的工厂方法 例如 dynamo boto3 resource dynamodb Table os environ DYNAMODB TABLE 我想注释这些资源 以便我可以获得更好的类型检查和完成 但我
  • for 循环如何评估其参数

    我的问题很简单 Does a for循环评估它每次使用的参数 Such as for i in range 300 python 是否会为此循环的每次迭代创建一个包含 300 个项目的列表 如果是的话 这是避免这种情况的方法吗 lst ra
  • 将 numpy 数组写入文本文件的速度

    我需要将一个非常 高 的两列数组写入文本文件 而且速度非常慢 我发现如果我将数组改造成更宽的数组 写入速度会快得多 例如 import time import numpy as np dataMat1 np random rand 1000
  • TF map_fn 或 while_loop 用于不同形状的张量列表

    我想处理不同形状的张量序列 列表 并输出另一个张量列表 考虑每个时间戳上具有不同隐藏状态大小的 RNN 就像是 输入 tf ones 1 2 2 tf ones 2 2 3 tf ones 3 2 1 输出 tf zeros 1 2 4 t
  • Android:将图像裁剪为特定尺寸

    我的目的是让用户从图库中选择一张图像 然后进行裁剪活动 但是 我需要将定义裁剪蒙版的矩形锁定到某个尺寸 然后用户只需重新定位它即可显示图像的一部分 关于如何做到这一点有什么想法吗 Thanks T Intent intent new Int
  • 使用 Django Rest 保存 Base64ImageField 类型会将其保存为原始图像。如何将其转换为普通图像

    我的模型中有 5 个图像字段 imageS imageS imageS imageS 和 imageE 我正在尝试按以下方式保存图像 图像的类型Base64ImageField images imageA imageB imageC ima
  • 更新 Sqlalchemy 中的多个列

    我有一个在 Flask 上运行的应用程序 并使用 sqlalchemy 与数据库交互 我想用用户指定的值更新表的列 我正在使用的查询是 def update table value1 value2 value3 query update T
  • python 中的 Johansen 协整检验

    我找不到任何有关在处理统计和时间序列分析 pandas 和 statsmodel 的 Python 模块中执行 Johansen 协整检验的功能的参考 有谁知道是否有一些代码可以执行时间序列之间的协整测试 现在 这已在 Python 的 s
  • 动态 __init_subclass__ 方法的参数绑定

    我正在尝试让类装饰器工作 装饰器会添加一个 init subclass 方法到它所应用的类 但是 当该方法动态添加到类中时 第一个参数不会绑定到子类对象 为什么会发生这种情况 举个例子 这是可行的 下面的静态代码是我试图最终得到的示例 cl
  • Python多处理错误“ForkAwareLocal”对象没有属性“连接”

    下面是我的代码 我面临着多处理问题 我看到这个问题之前已经被问过 我已经尝试过这些解决方案 但它似乎不起作用 有人可以帮我吗 from multiprocessing import Pool Manager Class X def init
  • django-admin.py makemessages 不起作用

    我正在尝试翻译一个字符串 load i18n trans Well Hello there how are you to Hola amigo que tal 我的 settings py 文件有这样的内容 LOCALE PATHS os
  • 具有屏蔽无效值的 pcolormesh

    我试图将一维数组绘制为 pcolormesh 因此颜色沿 x 轴变化 但每个 x 的 y 轴保持不变 但我的数据有一些错误值 因此我使用屏蔽数组和自定义颜色图 其中屏蔽值设置为蓝色 import numpy as np import mat
  • 在 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
  • 如何将回溯/sys.exc_info() 值保存在变量中?

    我想将错误名称和回溯详细信息保存到变量中 这是我的尝试 import sys try try print x except Exception ex raise NameError except Exception er print 0 s
  • 为什么 smtplib.SMTP().sendmail 不发送 DKIM 签名邮件

    我已经在服务器上设置了 postfix 以及 openDKIM 当我跑步时 echo Testing setup mail s Postfix test my email address 我收到电子邮件 邮件标题中有一个DKIM Signa
  • 如何循环遍历字典列表并打印特定键的值?

    我是 Python 新手 有一个问题 我知道这是一个非常简单的问题 运行Python 3 4 我有一个需要迭代并提取特定信息的列表 以下是列表 称为部分 的示例 已截断 数千个项目 state DEAD id phwl type name
  • 在 Django shell 会话期间获取 SQL 查询计数

    有没有办法打印 Django ORM 在 Django shell 会话期间执行的原始 SQL 查询的数量 Django 调试工具栏已经提供了此类信息 例如 5 QUERIES in 5 83MS但如何从 shell 中获取它并不明显 您可
  • 如何获取所有mysql元组结果并转换为json

    我能够从表中获取单个数据 但是当我试图获取表上的所有数据时 我只得到一行 cnn execute sql rows cnn fetchall column t 0 for t in cnn description for row in ro

随机推荐

  • ClearCase 不允许签入

    我对 ClearCase 相当陌生 但已经搜索了以下问题的很多解决方案 但没有成功 当我尝试办理登机手续时 出现以下错误 我的文件 检查时出错 没有权限执行 签入 操作 必须是以下之一 对象创建者 元素所有者 VOB 所有者 ClearCa
  • Neo4j 因果集群优于高可用性集群

    我们正在将 HA 集群迁移到因果集群 从 HA 集群迁移到因果集群有什么真正的优势吗 目前仅使用 REST 端点 是否可以仅使用两个 Neo4j 实例进行因果聚类 谢谢 因果集群是新一代的 Neo4j 集群 它将随着新版本的发布而不断发展
  • 实现 NHibernate 嵌套事务行为

    我正在尝试使用 NHibernate 的事务控制和 FlushMode 选项来实现某种嵌套事务行为 但是在阅读过多之后事情变得有点混乱 因此对我下面列出的事实的任何确认都将非常有用 我想要的是打开一笔大交易 然后拆分成小交易 想象一下以下场
  • 通过将 data.frame 的列名传递到 apply() 或 plyr 函数来替换所选列中的值

    假设我有一个 date frame 像 df lt data frame a 1 5 b sample 1 5 5 replace TRUE c 5 1 df a b c 1 1 4 5 2 2 3 4 3 3 5 3 4 4 2 2 5
  • 在 R 中创建重复向量序列[重复]

    这个问题在这里已经有答案了 我需要一些帮助 如何创建以下向量序列 1 1 1 1 2 2 2 3 3 4 我尝试使用 rep 和 seq 但仍然不成功 尝试这个 rep 1 4 4 1 Output 1 1 1 1 1 2 2 2 3 3
  • “cscript //NoLogo”代表什么?

    这是一个java程序代码 运行记事本程序并粘贴存储在该程序本身中的特定文本 我想知道你能否向我解释一下String vbs值 以及File file 以及 cscript NoLogo file getPath in the Process
  • 只检索更改的文档字段

    我发现监听文档变化会总是一遍又一遍地下载完整的文档 在以下情况下我遇到问题 文档的大小正在接近1 MiB 这是文档大小的限制 现在 有一个number场即仅字段更新 这只是几个字节 但是 收听此更改 例如对帖子的点赞 将始终下载完整的1 M
  • Firefox 在伪元素周围添加了奇怪的空间

    看看这些照片 JSFiddle链接在底部 firefox chrome 它们都是从 chrome 和 Firefox 中获取的相同元素 正如您所看到的 来自 Firefox 的元素在其顶部和左侧周围有一些空间 但来自 chrome 的元素没
  • Dompdf 在 Laravel 中封装其他语言支持

    我在 laravel 项目中使用 dompdf 包创建了我的 pdf 但是当我想渲染其他语言 孟加拉 而不是英语时 显示 div style margin 50px padding 10px div align center h2 Anti
  • C 拆分 CMD 参数

    我正在尝试做某事 但我可以 我有一个 C 程序 我想在其中解析所有参数 让我们更具体一点 EDIT 我在缓冲区中读取命令 而不是在程序以 argv 等启动时读取命令 我使用 fgets 从 STDIN 读取命令 假设我读了这样的命令行 ls
  • 根据列表索引组合字典列表

    我觉得这个问题以前肯定有人问过 但在 Stack Overflow 上找不到 有没有一种方法可以根据列表索引优雅地组合多个字典列表 见下文 list 1 hello world foo test list 2 a b c d result
  • 将 JSON IPython 笔记本 (.ipynb) 转换为 .py 文件

    如何转换 IPython 笔记本文件 json 与 ipynb扩展 到常规 py module 从笔记本菜单中 您可以将文件直接保存为 python 脚本 转到菜单的 文件 选项 然后选择 下载为 您将看到 Python py 选项 另一种
  • javascript,当右div隐藏时左div必须是100%宽度

    FIXED 通过将 mplungjan 的代码编辑为以下内容来修复它 function foo on click function if this is checked checked a show fast function checke
  • 错误 1452 MySQL

    向空表中插入数据 但出现错误 1452 我不知道为什么 MySQL 在错误中提到了 NameInfo 表 CREATE TABLE NameInfo Language VARCHAR 7 NOT NULL Status VARCHAR 13
  • 如何指定涉及中间局部变量引用的闭包的生命周期界限?

    我正在尝试用 Rust 编写一个如下所示的函数 fn double and square lt a T gt x a T gt whatever the output type of t t is let t x x t t 我希望它适用于
  • Spring Boot 不允许 URL 中通过百分比和反斜杠

    我们收到一个 get 请求 该请求在 url 中发送字符串字符 因此我们使用路径变量来接收它们 显然 调用服务无法更改其调用后端的方法 因此我们需要能够接受包含以下未编码字符的 url 当发送百分号 时 将返回 http 400 如果 后面
  • 为什么我们将 Loggers 声明为 static Final?

    在 Java 中 为什么声明记录器是最佳实践static final private static final Logger S LOGGER private 这样其他班级就不能hijack你的记录器 static 因此每个类只有一个记录器
  • 如何用 C# 编写解析器? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 如何用 C 编写解析器 递归下降 现在我只想要一个简单的解析器来解析算术表达式 并读取变量 虽然后来我打算编写一个 xml 和 html 解析器 用于学习目的 我这样做是因为解析
  • 所有 BlackBerry 设备的 UI 兼容性

    我为 BlackBerry 编写了一个简单的应用程序 并使用 9630 模拟器进行了测试 如何获得与所有模拟器兼容的 UI 设计 测试 测试 测试 如果您需要您的应用程序在所有模拟器上运行 那么获取所有模拟器并尝试一下 轮缘做得很好为您提供
  • 在python中读取PFM格式

    我想读书PFM使用 Python 格式化图像 我尝试过imageio read但它抛出一个错误 请问我可以有什么建议吗 img imageio imread image pfm 以下 Python 3 实现将解码 pfm 文件 下载示例纪念