如何使用 PYQt' QImage scanline() 访问像素数据

2023-12-03

我需要使用 PyQt4 访问 qimage 对象中的像素数据。

.pixel() 太慢,因此文档说使用 scanline() 方法。

在 C++ 中,我可以获得 scanline() 方法返回的指针,并从缓冲区读取/写入像素 RGB 值。

使用Python,我得到了指向像素缓冲区的SIP voidptr对象,因此我只能使用bytearray读取像素RGB值,但无法更改原始指针中的值。

有什么建议么?


这里有些例子:

from PyQt4 import QtGui, QtCore
img = QtGui.QImage(100, 100, QtGui.QImage.Format_ARGB32)
img.fill(0xdeadbeef)

ptr = img.bits()
ptr.setsize(img.byteCount())

## copy the data out as a string
strData = ptr.asstring()

## get a read-only buffer to access the data
buf = buffer(ptr, 0, img.byteCount())

## view the data as a read-only numpy array
import numpy as np
arr = np.frombuffer(buf, dtype=np.ubyte).reshape(img.height(), img.width(), 4)

## view the data as a writable numpy array
arr = np.asarray(ptr).reshape(img.height(), img.width(), 4)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 PYQt' QImage scanline() 访问像素数据 的相关文章

随机推荐

  • 将 Jetty 8 升级到 Jetty 9

    我正在从 jetty 8 升级到 jetty 9 并且遇到了一些 API 中编译失败的问题 SslSelectChannelConnector 已被删除 从我可以看到 httpConfiguration 和 secureRequestCus
  • iText:单元格中的图像列表

    我想创建一个包含点列表的表格 我事先不知道我有多少个点 但如果它们溢出单元格 我希望它们换行 就像文本一样 我的代码是这样的 PdfPTable table new PdfPTable 1 table setTotalWidth new f
  • UIColor CMYK 和 Lab 值

    简单的问题 很可能复杂的答案 如何从 UIColor 对象获取 CMYK 和 Lab 值 如果有帮助的话 我知道其中的 RGB 值 我发现了有关获取 CMYK 值的信息 但我无法从中获取任何准确的值 尽管它无处不在 但我听说这不是一个很好的
  • Spring-Boot:如何设置 JDBC 池属性,例如最大连接数?

    Spring Boot 是一个非常棒的工具 但是当涉及到更高级的配置时 文档有点稀疏 如何设置数据库连接池的最大大小等属性 Spring Boot 支持tomcat jdbc HikariCP and Commons DBCP它们本身的配置
  • 解析 Powershell 变量

    你们都给了我很大的帮助 让我首先这么说 我从运行的函数中得到以下输出 数据存储在名为的变量中 response 从一个获得Invoke RestMethod call ResourceType UserStory Id 202847 Nam
  • 580001 无效请求:{0} PayPal (PHP)

    我从此页面发送用户名和密码 https www paypal com us cgi bin webscr cmd profile api signature AppId 是我在 Android 应用程序中用于创建付款的 ID https a
  • 如何让该 HTML 显示格式化且不带标签?

    我创建了一个博客 用于编码练习 我使用富文本编辑器 ckeditor 并将帖子保存到数据库中 当我将帖子拉出以显示在 Label Text 中时 它会显示所有 HTML 标签 p strong there was strong once a
  • 从代码运行 PsExec 进程的问题

    尝试使用 PsExec 远程运行 NET 命令行工具时 我遇到了一个奇怪的问题 从命令行运行 PsExec 时 它可以正常运行并完成 从控制台应用程序运行它时 创建进程 运行 PsExec exe 并为其提供必要的参数 它是 运行正常 当从
  • 如何从 statsmodels 中 WLS 回归的 2D 参数获取测试预测

    我正在逐步提高参数WLS 回归函数使用统计模型 我有一个 10x3 数据集 X 我声明如下 X np array 1 2 3 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 4 5 6 1 2 3 这是我
  • Azure 网站上的自定义域名正常工作,但总是重定向到 azurewebsites.net?

    我在共享模式 Azure 站点上设置了一个自定义域 其中 CNAME 为 www lakestarlodge com A 记录为 Lakestarlodge com 两者都有效 我可以在浏览器中输入其中之一并访问该网站 然而 我刚刚注意到
  • 单日历日期范围选择器

    我正在寻找构建一个日期范围选择器 其值一次仅包含一年的一月至十二月 它看起来像这样 这是从我现有的剑道日期范围选择器中获取的 并且经过了糟糕的Photoshop处理 我使用剑道日期选择器构建了一个日历 但它似乎需要两个日历 一个用于开始日期
  • 如何用 C# 创建自己的事件?

    如何用 C 创建自己的事件 以下是使用 C 创建和使用事件的示例 using System namespace Event Example First we have to define a delegate that acts as a
  • 查找可以用 1 和 0 书写的数字的倍数

    给定数字n 2 10 3 gt 111 4 gt 100 7 gt 1001 11 gt 11 9 gt 111 111 111 我的想法不太好 n 2 和 n 5 000 幻影的最大值 2 5 gt n 3 111 我认为 剩下的数字除法
  • 检查失败:mdb_status == 0 (2 vs. 0) 没有这样的文件或目录

    我在训练数据时收到以下错误 我已经尝试了互联网上给出的所有解决方案 但似乎没有一个对我有用 我已检查 lmdb 文件的路径和大小不为零 但问题仍然存在 我不知道如何解决这个问题 pooling I0411 12 42 53 114141 2
  • 根据窗口大小调整页面元素的大小

    Problem 我的客户希望我为他的产品创建一个启动网页 以便页面上不应该有滚动 任何浏览器或窗口尺寸 Doubt 使用 CSS 和 JavaScript 可以实现这一点吗 一些早期诊断 这可能有点类似于this or this但不同之处在
  • Xamarin.Auth Google 登录完成后不会自动关闭

    我跟随导游在此输入链接描述 当我登录我的谷歌帐户时遇到问题 它显示 toast 并且浏览器不会自动关闭以支持我的 Thanks 在您的 CustomUrlSchemeInterceptorActivity 页面中替换 OnCreate 内
  • 保存多帧 TIFF

    我从 C 应用程序中的 Stream 加载多帧 TIFF 然后使用 Image Save 方法保存它 但是 这仅保存第一帧的 TIFF 如何让它保存多帧 tiff 由于您没有提供任何详细信息 仅提供一些一般提示 多帧 TIFF 是非常复杂的
  • Bootstrap 导航栏宽度与容器相同

    我正在使用 Bootstrap 3 我不能让导航栏与容器具有相同的宽度 如果它适用于大屏幕但不适用于其他屏幕尺寸 我如何制作固定大小的导航栏 它将改变与容器宽度相同的不同屏幕 div class row div
  • 从 NSUserDefaults 字典 iOS 中删除所有键

    我使用 NSUserDefaults 字典来存储基本信息 例如高分等 以便当用户关闭应用程序时数据不会丢失 无论如何我使用 NSUserDefaults prefs NSUserDefaults standardUserDefaults 存
  • 如何使用 PYQt' QImage scanline() 访问像素数据

    我需要使用 PyQt4 访问 qimage 对象中的像素数据 pixel 太慢 因此文档说使用 scanline 方法 在 C 中 我可以获得 scanline 方法返回的指针 并从缓冲区读取 写入像素 RGB 值 使用Python 我得到