python 元组与数组的区别_python – NumPy – 从元组到数组的高效转换?

我试图找到一种有效的方法,从元组(每4个条目对应一个像素的R,G,B,alpha)转换为NumPy数组(用于OpenCV).

更具体地说,我使用pywin32来获取窗口的客户区位图.这以元组的形式返回,其中前四个元素属于第一个像素的RGB-alpha通道,然后是第二个像素的下四个,依此类推.元组本身只包含整数数据(即它不包含任何维度,但我确实有这些信息).从这个元组我想创建NumPy 3D数组(宽x高x通道).目前,我只是创建一个零数组,然后遍历元组中的每个条目并将其放入NumPy数组中.我正在使用下面的代码执行此操作.而且我希望有一种更有效的方法可以做到这一点,我只是没想到.有什么建议?非常感谢!

码:

bitmapBits = dataBitmap.GetBitmapBits(False) #Gets the tuple.

clientImage = numpy.zeros((height, width, 4), numpy.uint8)

iter_channel = 0

iter_x = 0

iter_y = 0

for bit in bitmapBits:

clientImage[iter_y, iter_x, iter_channel] = bit

iter_channel += 1

if iter_channel == 4:

iter_channel = 0

iter_x += 1

if iter_x == width:

iter_x = 0

iter_y += 1

if iter_y == height:

iter_y = 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值